รหัสของฉัน:
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"
test@example.com
-----------------------------114782935826962
Content-Disposition: form-data; name="password"
pw
-----------------------------114782935826962--
(ฉันไม่รู้ว่าทำไมจำนวนในขอบเขตถึงเปลี่ยนทุกครั้งที่ส่ง ... )
ฉันต้องการให้ส่งข้อมูลด้วย "Content-Type": "application / x-www-form-urlencoded" ฉันควรทำอย่างไร หรือหากฉันต้องจัดการกับมันฉันจะถอดรหัสข้อมูลในคอนโทรลเลอร์ได้อย่างไร?
ใครที่ตอบคำถามของฉันฉันรู้ว่าฉันทำได้โดย:
fetch("api/xxx", {
body: "email=test@example.com&password=pw",
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
method: "post",
}
สิ่งที่ฉันต้องการคือ $ ("# form") serialize () ใน jQuery (โดยไม่ใช้ jQuery) หรือวิธีถอดรหัส mulitpart / form-data ในคอนโทรลเลอร์ ขอบคุณสำหรับคำตอบของคุณ
FormData
คืออะไร?