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

时间:2013-07-05 12:23:36

标签: 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-data来发送帖子请求。但是Firefox 21会将其设置为application/json

设置Content-Type

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

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

如何让Firefox正确使用 Content-Type

修改

IE 10Chrome 28.x.x.x请求标头:

enter image description here

Firefox 21请求标头:

enter image description here

1 个答案:

答案 0 :(得分:2)

我使用Firefox定期通过FormData发送MPE请求,并且在21年内没有发出任何问题。我想,它必须是你安装的一些插件。禁用所有Firefox扩展,然后重试。