IE系列浏览器把application/json响应视为文件,并尝试下载

IE系列浏览器把application/json响应视为文件,并尝试下载。

我的解决办法是修改把MIME Type修改为text/plain,这样所有的浏览器都能正确处理。


下面详细地说说原因以及其他的解决方法。

原因:

查阅msdn文档,了解到IE支持的MIME Type不包括application/json,这就说明了IE遇到application/json响应就会询问用户是否下载。


其他的解决方法:

1.判断请求头的User-Agent是否包含IE的关键字,包含IE的关键字则返回IE支持的MIME Type,比如text/plain。

2.检查请求头的accept是否包含application/json,如果不包含则返回text/plain。

3.设置框架(Spring、Struts)配置文件的响应MIME Type。


补充:

外国程序员通过修改注册表让自家的IE浏览器支持application/json

URL:http://stackoverflow.com/questions/2483771/how-can-i-convince-ie-to-simply-display-application-json-rather-than-offer-to-dow


参考资料:

http://stackoverflow.com/questions/21045522/ie-prompts-to-open-or-save-json-result-which-comes-from-server

http://blog.keremyilmaz.com/ie-doesnt-like-application-json-content-type/

http://blog.degree.no/2012/09/jquery-json-ie8ie9-treats-response-as-downloadable-file/

http://stackoverflow.com/questions/8892819/ie8-treats-json-response-as-file-and-tries-to-download-it

http://stackoverflow.com/questions/17701992/ie-iframe-doesnt-handle-application-json-response-properly

http://incomplete-code.blogspot.be/2012/08/spring-mvc-internet-explorer-7-and-json.html

http://www.javawebdevelop.com/2099052/

http://yjflfliulei.iteye.com/blog/1755134

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值