`
ymq267
  • 浏览: 131109 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
社区版块
存档分类
最新评论

IE10以下的IE浏览器在form表单提交、a标签等场景下,接收application/json类型的响应时,会提示是否要下载该json文件

 
阅读更多
IE10以下的IE浏览器在form表单提交、a标签等场景下,接收application/json类型的响应时,会提示是否要下载该json文件?


IE10以下的IE浏览器并不支持application/json这种response格式,所以需要在服务端先将对象转成json字符串然后,设置Content-Type为text/html的类型,再返回,就行了。

如果你用的是springMVC,那么即使在controller层使用response对象设置了响应头信息,也是没有用的,因为如果你标识了@Responsebody注解,spring会自动根据你的返回值类型判断是否要给你将返回值转成某个视图对象(具体根据你的springMVC的配置,一般是json),如果配置的是json,那么就会自动返回application/json这种类型,解决方法如下:

1、去掉@Responsebody注解;

2、不要设置返回值;

3、通过以下两行代码实现数据的返回:

response.setContentType("text/html;charset=UTF-8");

response.getWritter().print("要返回的字符串");
分享到:
评论

相关推荐

    ajaxSubmit上传文件IE解析

    默认情况下,`ajaxSubmit`插件期望服务器端返回的是JSON格式的数据,但是在IE浏览器中,由于其对JSON的支持存在一定的限制,因此当服务器返回的数据格式不符合预期时,就会导致解析失败。 #### 解决方案 案例中...

    AJAX提交表单数据实例分析

    现代浏览器使用`XMLHttpRequest`,而较老版本的IE浏览器则使用`ActiveXObject`。 2. 设置响应处理函数。这个函数会在请求完成后的某个时间点被调用。 3. 根据请求类型(GET或POST),设置请求的状态和发送请求。 4. ...

    解决IE下AjaxSubmit上传文件提示下载文件问题

    然而,在IE浏览器中,当尝试使用AjaxSubmit上传文件时,浏览器可能会错误地触发文件下载,而不是正确地处理返回的数据。 标题和描述中提到的问题涉及到以下几个关键点: 1. **后端设置**: 在Spring MVC的控制器...

    AJAX在PHP中的简单使用

    在现代浏览器中,可以直接使用`new XMLHttpRequest()`方式创建对象,而在旧版IE浏览器中,则需要使用`ActiveXObject`。 ##### 2. 使用POST方式提交表单 在实际应用中,经常需要使用POST方式提交表单数据。例如,有...

    Ajax开发实践:JSON在XMLHttpRequest中的应用

    在旧版本的IE浏览器中,可能需要使用ActiveXObject来创建XMLHttpRequest对象,以兼容不同的浏览器环境: ```javascript var xhr = false; try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e1) { try {...

    IE9 elementUI文件上传的问题解决

    如果服务器返回的数据类型为application/json,IE浏览器会尝试解析这个JSON数据,并将其作为文件处理。这会导致浏览器尝试打开或保存该文件,而不是将数据作为普通文本返回给前端。为了解决这个问题,需要与后端开发...

    Ajax相关学习内容整理.pdf

    在异步模式下,当服务器响应准备就绪时,会触发`onreadystatechange`事件处理函数,该函数会检查`readyState`和`status`属性,来确定是否成功接收了服务器的响应。 ```javascript xmlhttp.onreadystatechange = ...

    如何解决JQuery ajaxSubmit提交中文乱码

    通过这种方式,无论是在Firefox还是IE浏览器中提交数据,都指定了以UTF-8编码,这保证了数据在服务器端正确解码,避免出现中文乱码问题。同时,也确保了不同浏览器在处理AJAX请求时的一致性。 总结来说,解决JQuery...

    ajax 多年收集资料(15个教学文档和应用实例)

    - **兼容性问题**:旧版IE浏览器的ActiveXObject,以及对Promise、Fetch API的支持。 - **页面失去焦点**:长时间运行的Ajax请求可能因页面失去焦点而被中断,可使用`withCredentials`处理。 - **回退机制**:考虑...

    Ajax中文手册(快速上手)

    2. **回退兼容**:老版本的IE浏览器(尤其是IE6)对Ajax支持不足,需要使用ActiveXObject。 3. **首屏加载**:尽管Ajax增强了页面交互,但不适用于首屏内容加载,因为用户需要看到页面内容后再触发Ajax请求。 4. *...

    javascript-form-source-code-Form source code

    常用的方法有`addEventListener`和`attachEvent`(IE浏览器)。例如,监听表单提交事件: ```javascript var form = document.querySelector('form'); form.addEventListener('submit', function(event) { event...

    AJAX__

    1. **浏览器兼容性**:旧版本的IE浏览器对AJAX支持有限,需要使用ActiveXObject。 2. **安全问题**:易受跨站脚本攻击(XSS)和跨站请求伪造(CSRF)的影响。 3. **不利于SEO**:搜索引擎爬虫可能无法正确解析异步...

    Ajax+js实现异步交互

    在非IE浏览器中,可以直接实例化XMLHttpRequest对象;而在IE浏览器中,则需要通过ActiveXObject来创建。通过判断浏览器提供的window对象是否存在XMLHttpRequest属性来决定使用哪种方式创建对象。 2. 与服务器建立...

    原生AJAX封装的简单实现

    在旧版IE浏览器中,使用ActiveXObject来创建异步对象,而在较新的浏览器中,则使用XMLHttpRequest对象。为了兼容不同的浏览器,封装时通常会采用一个函数来创建异步对象,这个函数名为makeXHR,根据浏览器的不同特性...

    JavaScript中的ajax功能的概念和示例详解

    在较旧的IE浏览器中,则需使用ActiveXObject。 2. **设置请求参数**:通过`open()`方法指定请求类型(GET或POST)、请求URL以及是否异步执行。GET请求通常用于获取数据,而POST请求则用于提交数据。 3. **监听状态...

    Ajax核心XMLHttpRequest总结

    在现代浏览器中,我们通常通过`new XMLHttpRequest()`来创建,而在较旧的IE浏览器中,则需要使用ActiveXObject。 2. **注册回调函数**:为了处理服务器的响应,我们需要定义一个回调函数,通常是在`...

    分享下GET和POST的真正区别

    例如,IE浏览器曾经对URL长度有限制,但现在大多数浏览器和服务器已经放宽了这一限制。 - **POST**:理论上,POST请求的数据大小不受限制,主要受限于服务器配置的最大传输限制。 3. **幂等性** - **GET**:GET...

Global site tag (gtag.js) - Google Analytics