我正在尝试发送带有 header 的 XMLHttpRequest 并添加 FormData。有没有一种(优雅的)方式我可以做这样的事情:
var formData = new FormData();
formData.append("file", file);
var xhr = new XMLHttpRequest();
xhr.open("POST", "/ajax_gateway.php?mod=fileupload", true);
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded")
xhr.send(formData, "token=add");
最佳答案
发送 FormData
时不能指定 Content-Type
header ,因为该 header 会自动设置为 "multipart/form-data"
浏览器。你可以设置其他标题,试试这个:
var formData = new FormData();
formData.append("file", file);
formData.append("mod", "fileupload");
formData.append("token", "add");
var xhr = new XMLHttpRequest();
xhr.open("POST", "/ajax_gateway.php");
xhr.setRequestHeader("X-Answer", "42");
xhr.send(formData);
关于ajax - 发送带有 Header 和 FormData 的 XMLHttpRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23802133/