Мой код:
fetch("api/xxx", {
body: new FormData(document.getElementById("form")),
headers: {
"Content-Type": "application/x-www-form-urlencoded",
// "Content-Type": "multipart/form-data",
},
method: "post",
}
Я попытался опубликовать свою форму, используя fetch api, и тело, которое оно отправляет, похоже на:
-----------------------------114782935826962
Content-Disposition: form-data; name="email"
[email protected]
-----------------------------114782935826962
Content-Disposition: form-data; name="password"
pw
-----------------------------114782935826962--
(Я не знаю, почему число в границе меняется каждый раз, когда он отправляет...)
Я бы хотел, чтобы он отправлял данные с помощью "Content-Type": "application/x-www-form-urlencoded", что мне делать? Или, если мне просто нужно иметь дело с этим, как мне декодировать данные в моем контроллере?
Чтобы ответить на мой вопрос, я знаю, что могу это сделать:
fetch("api/xxx", {
body: "[email protected]&password=pw",
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
method: "post",
}
Я хочу что-то вроде $ ("# form"). Serialize() в jQuery (без использования jQuery) или способ декодирования mulitpart/form-data в контроллере. Спасибо за ваши ответы.