我使用抓取API從瀏覽器發送了一個post請求。這是我的代碼:瀏覽器強制發送multipart/formdata
const headers = new Headers();
headers.append("Content-Type", "application/x-www-form-urlencoded");
fetch('/signup', {
method: 'POST',
body: new FormData(document.querySelector('form')),
credentials: 'same-origin',
headers
}).then(
response => response.text()
).then(
text => console.log(text)
);
我的表單只包含文本,電子郵件和密碼輸入類型。我期待表單數據與內容類型的應用程序/ x-www-form-urlencoded一起發送,但是它會作爲multipart/formdata發送。
我已經嘗試手動設置提取請求上的標題,並明確指定表單的encType屬性(即使它應該默認爲網址編碼),但它不工作。
Chrome和Safari都會發生這種情況。我可以通過使用JSON輕鬆解決這個問題,但我真的想知道爲什麼會發生這種情況!
你可以發佈你試圖設置請求頭的代碼嗎?另一件事是它在很多主流瀏覽器中都不被支持。所以它可能仍然是越野車。請參閱此表以瞭解兼容性:https://developer.mozilla.org/en/docs/Web/API/Fetch_API#Browser_compatibility –