Javascript Firefox没有为多部分请求设置正确的内容类型
给出以下javascript代码(一个简单的上传脚本):Javascript Firefox没有为多部分请求设置正确的内容类型,javascript,jquery,firefox,Javascript,Jquery,Firefox,给出以下javascript代码(一个简单的上传脚本): IE 10和Chrome 28.x.x将发送内容类型设置为multipart/form data的post请求。但是,firefox21将其设置为application/json 通过以下方式设置内容类型: xhr.setRequestHeader(“内容类型”、“多部分/表单数据”) 当Firefox发出请求时,仍然不会影响内容类型 如何使Firefox使用正确的内容类型 编辑 IE 10和Chrome 28.x.x请求头: Fire
IE 10
和Chrome 28.x.x
将发送内容类型设置为multipart/form data
的post请求。但是,firefox21
将其设置为application/json
通过以下方式设置内容类型
:
xhr.setRequestHeader(“内容类型”、“多部分/表单数据”)代码>
当Firefox
发出请求时,仍然不会影响内容类型
如何使Firefox使用正确的内容类型
编辑
IE 10
和Chrome 28.x.x
请求头:
Firefox21
请求头:
我使用Firefox定期通过FormData发送MPE请求,并且在21世纪的一段时间内没有任何问题。我想这一定是你安装的插件。禁用所有Firefox扩展,然后重试。setRequestHeader必须在.open()之后设置。您这样做了吗?我无法重现此处的问题这似乎不太可能是Firefox中的错误。如何验证内容类型标题?请发布firebug的屏幕截图或粘贴,显示请求标题。此外,您绝对不应该手动设置多部分请求的内容类型标题。浏览器将多部分边界作为参数添加到此标题值中,这是至关重要的。@RayNicholus,Touché。-用请求标题的屏幕截图更新了帖子。-我使用的是fiddler,我已经检查了firebug-给出了相同的标题。
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);