javascript - Firefox 没有为多部分请求设置正确的内容类型

标签 javascript jquery firefox

给出以下 JavaScript 代码(一个简单的上传脚本):

var fd = new FormData();
fd.append("file", document.getElementById('file').files[0]);

var xhr = new XMLHttpRequest();

xhr.upload.addEventListener("progress", uploadProgress, false);
xhr.addEventListener("load", uploadComplete, false);
xhr.addEventListener("error", uploadFailed, false);
xhr.addEventListener("abort", uploadCanceled, false);
xhr.open("POST", 'http://localhost:22977/home/upload');

xhr.send(fd);

IE 10Chrome 28.x.x.x 将发送 Content-Type 设置为 multipart/form- 的 post 请求数据。但是 Firefox 21 会将其设置为 application/json

通过以下方式设置Content-Type:

xhr.setRequestHeader("Content-Type", "multipart/form-data");

Firefox 发出请求时,仍然不会影响 Content-Type

如何让 Firefox 使用正确的 Content-Type

编辑

IE 10Chrome 28.x.x.x 请求 header :

enter image description here

Firefox 21 请求 header :

enter image description here

最佳答案

我使用 Firefox 定期通过 FormData 发送 MPE 请求,并且在 21 中这样做有一段时间没有出现问题。我认为它必须是您安装的某个插件。禁用所有 Firefox 扩展并重试。

关于javascript - Firefox 没有为多部分请求设置正确的内容类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17488833/

相关文章:

javascript - PHP 变量,并更改 javascript 属性

javascript - 无法在模态中使用粘性套件粘贴元素

javascript - 使用 jQuery 进行表过滤

javascript - 使用 Firefox 附加 SDK 进行跨域图像数据检索

javascript - 使用 Reactjs 在 Canvas 上绘制图像后无法将 Canvas 转换为图像

javascript - 如何修复 SQL Inject Me 测试结果

javascript - 用单击的按钮填充文本区域

php - jQuery $.post 字符串转义问题

Jquery Firefox 在查找 DIV 的position() 时出错

css - 在Chrome中转换了CSS,但在Firefox中未转换