Web API IE9 JSON数据"是否要打开或保存此文件"

Bri*_*den 5 asp.net-mvc asp.net-mvc-4

首先,请理解我并不是想在IE9中查看JSON.我一直都在使用Fiddler.我有一个名为Fine Uploader的第三方上传程序,在成功上传Ajax文件时需要JSON响应消息.

现在我明白IE9没有MIME来显示JSON,但我不是试图显示JSON.我只是在ajax上传一些文件并且IE9试图打开我的ajax响应后返回一个JSON响应.

由于我打算用JSON格式化所有Web API响应,我是否必须为每个api调用添加自定义text/html响应内容类型以使我的应用程序与IE9兼容?严重荒谬的东西,我无法克服多少时间浪费在处理IE兼容性问题上.

Chr*_*ris 7

虽然Ray的答案有效,但这会改变所有Json响应的响应内容类型.理想情况下,我们不应该影响播放良好的浏览器的响应类型.

有一个简单的方法来解决这个问题(特别是在MVC中),请参阅我对这个问题的回答.

简而言之,以下代码可以解决这个问题,如果适用,可以将其包装到基本控制器/辅助方法中:

if (!Request.AcceptTypes.Contains("application/json"))
    return base.Json(data, "text/plain");
else
    return base.Json(data);
Run Code Online (Sandbox Code Playgroud)

我希望能帮助别人!