对于我们的一个ajax请求(带有.json响应),我们的一些客户抱怨他们看到“文件下载”提示要求用户下载.json响应。我感到困惑,因为考虑到这是一个xhr响应,这应该永远不会发生。有没有人见过这个?
由于
答案 0 :(得分:16)
对于使用ASP MVC且IE存在同样问题的人,请在返回回复时使用:
return Json(result, "text/plain");
编辑:标准类型是:“application / json”,但不适用于IE。使用text / html很危险。
答案 1 :(得分:11)
尝试在响应中指定MIME类型“text / plain”。或者只是从网址中删除“.json”扩展名(例如尝试.txt或.js)
答案 2 :(得分:3)
不确定您是否找到了解决方案,但我遇到了类似的问题,其中IE试图下载任何JS响应。要修复它,我必须确保format.html出现在响应块中的format.js上面:
def index
# ...
respond_to do |format|
# html must be above js, otherwise IE will try to download the JS
format.html
format.js
end
end
希望这有帮助。
答案 3 :(得分:1)
我正在使用QQ ajax文件上传器,我发现我需要将内容类型设置为“text / json”才能正常工作。
答案 4 :(得分:-3)
删除.json并将内容类型设置为text / html。 IE不知道您发送的文件类型,因此它提供下载。它知道如何处理text / html:)