使用 .net WEBAPI 返回 application/json类型导致 IE8 提示下载

1, 场景介绍

项目使用了 jquery.form.js这个插件,用 ajax的方式提交 form 表单里面的信息。因为需要使用 ajax获取到返回信息。数据录入使用的是 .net mvc方式的 webapi数据接口进行提交录入。

2, 问题

在IE 8及以下版本遇到,提交成功后,返回过来的数据格式是: application/json,在IE 8 (含)以下版本中直接提示下载 该 json。

3, 解决方法

修改在 系统中的 App_Start 文件夹中的 WebApiConfig.cs。删除 响应类型 : application/json    添加 文件类型 text/html 或者 text/plain,我的修改配置修改如下

            config.Formatters.JsonFormatter.SupportedMediaTypes.Remove(new MediaTypeHeaderValue("application/json"));
            config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html"));
            config.Formatters.Remove(config.Formatters.FormUrlEncodedFormatter);
            config.Formatters.Remove(config.Formatters.XmlFormatter);
时间: 2024-10-04 00:22:04

使用 .net WEBAPI 返回 application/json类型导致 IE8 提示下载的相关文章

IE10以下的IE浏览器在接收application/json类型的响应时,会提示是否要下载该json文件

IE10以下的IE浏览器并不支持application/json这种response格式,所以需要在服务端先将对象转成json字符串然后,设置Content-Type为text/html的类型,再返回,就行了. 如果你用的是springMVC,那么即使在controller层使用response对象设置了响应头信息,也是没有用的,因为如果你标识了@Responsebody注解,spring会自动根据你的返回值类型判断是否要给你将返回值转成某个视图对象(具体根据你的springMVC的配置,一般是

jquery ajax和php实现返回值 json类型

js页面 $.ajax({ type: “POST”, dataType: ‘json’, url: “add_vote.php”, data: “touid=”+uid+”&tousername=”+username, success: function(msg){ //json解析方法一 var dataObj=eval("("+msg+")");//转换为json对象 alert(dataObj.goods_list);//输出root的子对象数量 /

PHP使用CURL设置header头传参以及设置Content-Type: application/json类型的后台数据接收

CURL函数 public function CurlRequest($url,$data=null,$header=null){ //初始化浏览器 $ch = curl_init(); //设置浏览器,把参数url传到浏览器的设置当中 curl_setopt($ch, CURLOPT_URL, $url); //以字符串形式返回到浏览器当中 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //禁止https协议验证域名,0就是禁止验证域名且兼容p

Spring mvc 返回JSON 在IE 下提示下载 解决办法

http://www.blogjava.net/iamlibo/archive/2013/11/21/406646.html ———————————————————————————————————————————————————————————————————— 在IE低版本下接收Spring MVC @ResponseBody 返回的JSON 会提示下载保存.在chrome下没有问题.解决办法 是: <mvc:annotation-driven ignoreDefaultModelOnRedi

IE 返回值JSON会导致IE弹出下载框问题

params: {     accept: 'text/plain; charset=utf-8' }, 向服务器传值的时候指定这么一个返回,也就是说accept的时候以 text/plain; charset=utf-8 格式来接收 感谢:http://segmentfault.com/q/1010000000319324

postman模拟接收application/json类型回调

postman设置 php接收方法 $_REQUEST = file_get_contents('php://input');$_REQUEST = json_decode($_REQUEST,true); 原文地址:https://www.cnblogs.com/2ger/p/12116036.html

上传文件返回数据提示下载

摘要:  最近项目中出现上传文件返回的json数据会被提示下载,只有在ie10+中才会出现这个问题.前端使用jQuery的插件ajaxForm提交表单,后台返回的数据格式为json.代码如下: 后端Python: def jsonp(func): """Wraps JSONified output for JSONP requests.""" @wraps(func) def decorated_function(*args, **kwargs)

WebAPI返回JSON的正确格式

最近打算用WebAPI做服务端接口,返回JSON供ANDROID程序调用,结果试了好几次JSONObject都无法解析返回的JSON字符串.看了一下服务端代码: public string Get() { return "{\"errNum\":300202,\"errMsg\":\"Missing apikey\"}"; } 打开CHROME浏览器,F12查看了一下返回信息,发现返回头Content-Type是"a

Spring MVC关于IE对application/json的content-type不支持解决方案---duang 解决了

在现代的web开发中,我们为了用户的体验广泛的使用异步开发,用户看不见后台的实际执行情况,只关心结果,所以良好的提示消息决定了系统对用户的态度,所以要开发一套标准的提示消息,我选择了JSON,但是在实际开发过程中,会发现IE不支持application/json类型,所以我也在网上查找了好多同样的问题,但是大部分说法都是注册注册表,但是我门发布系统又不能让每个用户都注册一下注册表,这显然很不合理,所以我发现,只要修改返回的内容的类型(ContentType)即可解决问题. 1,默认情况下,我们会