我有一个使用this脚本的标准文件上传脚本。上传完成后,我发回一个JSON告诉客户端上传是否正常,如下所示:
{done: true, error: "No error"}
当我在Firefox上进行上传时,一切都很顺利,但在IE9 / Chrome上它会中断。 IE告诉我,我需要下载文件,如下图所示:
我认为问题是提交给客户端的标头,我尝试将内容类型设置为:
文件存储正确,答案没有任何损坏,也没有编码,gzip或类似的东西。
有什么想法吗?
编辑:忘记添加 “this” 上的链接,而且,这是该插件的旧版本,而不是当前版本之一。
答案 0 :(得分:3)
我会自己回答这个问题,因为我找到了解决方案,至少它有效......
事情是,当使用iframe发送请求时,似乎响应的内容类型不应该是application/json
或application/javascript
或任何其他类似的。我的解决方案是将响应发送为text/html
,并在客户端上执行JSON.parse
,它就像魅力一样。
因为我所有的Ajax调用都指定我期望一个JSON,所以当我进行ajax调用时也可以正常工作,因为jQuery处理整个转换,只有让我担心的是与客户端性能相关的任何问题,但是我还没有看到任何问题的迹象......
希望任何遇到问题的人都会发现我的回答很有帮助!
答案 1 :(得分:1)
我在过去使用相同的上传小部件和IE 8时遇到了这个问题。
header('Content-Type: application/json')
为我修好了。你也试过这个吗?