IE8下ajax请求失败的解决方案】的更多相关文章

今天发现IE9以下的浏览器,ajax请求返回数据异常研究半天发现是type参数未设置,由于默认方式是Get,添加上type:“post”就恢复正常了…
在IE浏览器中通过Ajax请求后台的数据,如果Page请求是postback类型的,可能会导致Ajax请求失败的问题 我们都知道ajax能提高页面载入的速度主要的原因是通过ajax减少了重复数据的载入,也就是说在载入数据的同时将数据缓存到内存中,一旦数据被加载其中,只要我们没有刷新页面,这些数据就会一直被缓存在内存中,当我们提交 的URL与历史的URL一致时,就不需要提交给服务器,也就是不需要从服务器上面去获取数据,虽然这样降低了服务器的负载提高了用户的体验,但是我们不能获取最新的数据,特别是那…
项目框架 React.js + webpack + ES6 + JQuery 问题场景 ajax请求用户数据,服务器返回json格式,数据很可能会比较长,甚至达到几百kb. 问题描述 客户端ajax请求失败,但并不是每次都失败,有时候又请求正常,chrome报错截图如下: chrome检查network的status显示"(failed)",而请求的status code为200 问题探索 关于这一报错,网上查阅资料发现众说纷纭,也就是说可能出现这一报错的场景是比较多的,其中不乏浏览器…
springmvc框架下jsp界面通过ajax请求后台数据,传递中文参数到后台显示乱码 解决方法:js代码 运用encodeURI处理两次 /* *掩码处理 */ function maskWord() { var code=encodeURI($("#maskword").val()); code=encodeURI(code); $.ajax({ url : '${maskWordurl}' + code, type : 'post', dataType : 'json' }).d…
bug说明: 同一账户下的默认收货地址只有一个,默认收货地址可以修改,修改完成后,使用ajax重新加载收货地址部分. 默认收货地址状态标记:status = 1: 在IE浏览器做了修改后,重新加载的数据和未修改之前一样,拿到的数据如下图所示: 而在谷歌浏览器刷新页面,拿到以下数据: 谷歌的数据和数据库的数据是一致的. 开始以为是js代码在IE浏览器运行错误,打开IE控制台后,发现代码并没有报错. 于是我想是不是在IE下,请求没有发生. 我在修改默认收货地址之前,先将idea编辑run里面的代码清…
SpringMVC框架下,如果用ajax向后台请求得方法如果使用@Responsebody返回布尔值的话,ajax得不到任何的回传数据. 但是如果返回String类型,就是正常的. 测试了下代码写得没有任何问题,也不报错.只是在地址栏直接输入ajax请求的url会报404. The resource identified by this request is only capable of generating responses with characteristics not accepta…
问题描述: IE8及以下版本里用jQuery发简单的GET时,第一次或者新开窗口后的请求没问题,可以正确返回结果.但是之后刷新页面或者触发某些操作得到的ajax请求结果永远和第一次一样. 问题分析: 通过调试发现应该是IE的缓存机制的问题,不仅缓存了js代码而且缓存了ajax请求的结果. 解决办法: 为请求添加时间戳,例如: $.get("getDate?"+(new Date()).getTime(), function(res){ alert(res); });…
ajax的url有两种,一种是绝对路径,另一种是相对路径.   一.绝对路径:包括协议名称.主机地址.端口.web项目名称等的完整请求路径. 例如: $.ajax({     url:"http://localhost:8080/webname/test" });   好处:比如在webA项目中的ajax需要请求webB项目中的服务,则必须使用绝对路径. 坏处:使用绝对路径要求古地理更web项目的名称,如果webB项目重命名了,则对应的ajax请求都需要修改.   二.相对路径:不需要…
在使用FileResult向浏览器输出文件时(pdf,excel等),通常这样做: byte[] fileContents = Encoding.UTF8.GetBytes(sbHtml.ToString());//拼接的table var fileStream = new MemoryStream(fileContents); return File(fileStream, "application/ms-excel", "统计.xls"); 在谷歌.火狐下测试没…
在做web开发是,大多时候都会使用FireFox作为调试的浏览器.上面携带的FireBug用来调试JavaScript实在是太方便了,绝大多数的问题都能够通过它跟踪调试出来.但是,当项目发布时,不能仅在这一款浏览器是运行正常就算正常了.还要做浏览器的兼容性测试.说到IE,相信很多人都会很头疼.这段时间就碰到了问题,使用Ajax去后台请求数据,在前台更新显示.开发阶段,在FireFox上一切正常.但到了测试阶段,在IE上,这个小小的功能却怎么也没法正常运行.好在,之前有所耳闻IE的这个“亮点”,于…
由于安全的限制(同源策略,javascript只能访问同域名下的内容),如果需要进行跨域操作,那就免不了要进行跨域.   CORS(跨域资源共享,Cross-Origin Resource Sharing)是一种解决跨域的方案. 详细的描述还请查阅: http://www.w3.org/TR/cors/ https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS   比如我有两个虚拟主机(apache本地配置),ww…
首先要说明一下json和jsonp的区别? json是一种基于文本的数据交换方式,或者叫做描述数据的一种格式. var person = { "name": "test", "age": "25", "sex": "男" }; var data = [1, 2, 3, 4, 5]; 而jsonp是一种非官方跨域数据交互协议,该协议允许用户传递一个callback参数给服务端,然后服务端返…
function crossDomainAjax(url, successCallback) { // IE8 & 9 only Cross domain JSON GET request if ('XDomainRequest' in window && window.XDomainRequest !== null) { var xdr = new XDomainRequest(); // Use Microsoft XDR xdr.open('get', url); xdr.o…
如上图所示,在ie浏览器下发出的请求,如何缓存中已经出现过这条请求记录,则不会请求服务端数据,解决方法是在请求后增加一个随机数,使每次请求都不同*可以添加当前时间戳 url+'?t='+Date.now(), 请求如下…
原理核心:window对象的name属性是一个很特别的属性,当该window的location变化,然后重新加载,它的name属性可以依然保持不变. 依此原理,我们可以在页面A中用iframe加载其他域的页面B,而页面B中用JavaScript把需要传递的数据赋值给 window.name,页面A的iframe加载完成之后,页面A修改iframe的地址,将其变成同域的一个地址,然后就可以读出window.name的值了.   例:有两个网站www.a.com和www.b.com,我们要在www.…
对于主域相同,子域不同,我们可以设置相同的document.domain来欺骗浏览器,达到跨子域的效果.   例如:我们有两个域名:www.a.com 和 img.a.com 在www.a.com下有a.html 在img.a.com下有img.json和img.html这两个文件.   img.json就是一些我们要获取的数据: [ { "name" : "img1", "url" : "http://img.a.com/img1.j…
转自:http://blog.csdn.net/yeyicsdn/article/details/50032787 参考网址:http://www.cnblogs.com/RachelChen/p/5433881.html 修改了前台全局ajax部分代码,如下: $(document).ajaxComplete(function (event, xhr, settings) { //通过XMLHttpRequest取得响应头,sessionstatus, var sessionstatus =…
在拦截器中添加以下逻辑 String requestType = request.getHeader("X-Requested-With"); if (!StringUtils.isEmpty(requestType) && requestType.equalsIgnoreCase("XMLHttpRequest")) { response.setHeader("sessionStatus", "timeout"…
在国内IE8至少还占有20%的市场份额,所以在做网站时,必须得为这部分用户特殊兼容考虑. 一方面IE8上面很多css3定义的标签不能使用,另外一方面javascript的addEventListener不能使用,还有重要的一点就是media query不能使用. 幸运的是,国外respond.js为解决这个棘手的问题提供了比较好的思路,下面就探讨一二. 具体参考 http://mux.alimama.com/posts/686…
var AjaxRequest = function(){ //返回处理结果的回调函数 this.agentCallBack = {}; //javascript 调用domino代理的方法. this.ajaxCallAgent = function(agentParam){ $.ajax({ type: "POST", url: agentParam.url , data: agentParam.jsondata, beforeSend: function(request) { /…
Ajax请求参数比较长,第5行参数大概1100个字符吧,是接口的请求报文. $.ajax({ type:"POST", url:"${ctx}/test.action?method=invokeInfo", //beforeSend:alert("beforeSend"), data:{reqXmlStr:newReqXmlStr},//传给服务器的参数 success:function(result){ alert("success&…
一.问题描述 ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是会被浏览器给拦截了,需要用户点下. 二.问题分析 浏览器之所以拦截新开窗口是因为该操作并不是用户主动触发的,所以它认为这是不安全的就拦截了,即使 ajax 回调函数中模拟执行 click 或者 submit 等用户行为(trigger('click')),浏览器也会认为不是由用户主动触发的,因此不能被安全执行,所以被拦截. 说明: 1.如果是在 <a href="javascri…
储备知识 1.在介绍新版本的ajax请求之前,需要先了解一些dojo/Deferreds. 初次听到“Deferred”这个概念,可能会觉得这是一个神秘的东西.实际上它在执行异步操作的时候非常强大,例如执行Ajax请求.简单来说,Deferred会延迟一段时间再执行某些操作:最重要的,它可以实现等待一个前置动作完成之后才执行你指定的动作.Ajax就是这样一个例子.我们希望在服务器成功返回我们需要的信息之后才执行某些动作.这种情况下,等待返回值是非常重要的. Dojo实现的可延迟执行的对象是doj…
想写个同类型的,代码未测. 什么是WebAPI?我的理解是WebAPI+JQuery(前端)基本上能完成Web MVC的功能,即:这么理解吧,WebAPI相当于Web MVC的后台部分. 接下来直接上例子吧,都是我在学习过程中遇到或者发现的一些问题.  一.创建WebAPI项目 (这个环节不是本章重点) 二.传递参数遇到的问题 后台实体类(Person): 1 namespace WebApi.Models 2 { 3 public class Person 4 { 5 6 public int…
  ajax 缓存问题及解决方案 CreationTime--2018年7月25日16点04分 Author:Marydon 1.什么情况下ajax请求会出现缓存? 当请求的路径.参数名.参数值三者都没有发生变化时,浏览器将不会再发送此请求,只有这三者其中任意一个发生变化时(变化的一般只有参数值), 浏览器才会再次向服务器发送请求! 缓存测试: 总共四次请求: 文本框中没有值 http://localhost:8070/demo/getJson.do?operation= 请求发送至服务器 文本…
@{ ViewBag.Title = "ajax"; } <script src="../../Scripts/jquery-1.4.4.js" type="text/javascript"></script> <script src="../../Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript">…
问题:同样的代码逻辑,PC端和iOS都能正常访问,但是Android系统请求都是报错: 上网查阅,关于ajax请求失败且状态码都是0的情况有很多,最后排查的原因是:域名证书问题:…
//事件触发顺序ajaxStart,ajaxSend,ajaxSuccess或ajaxError,ajaxComplete,ajaxStop $(document).ajaxStart(function (event) { /* * 每一个ajax即将发送的时候触发该事件,只有一个事件对象参数 */ console.log('ajaxStart'); }) $(document).ajaxSend(function (event,xhr,opts,err) { /* * 每一个ajax即将发送的…
项目中,请求开始前加载loading遮罩层,请求结束关闭遮罩,一般都会加在全局中,但有个别请求不需要加全局loading 的话,这时候就需要对这些请求进行配置 全局加loading: ; function PageLoading() { loadingIndex = layer.load(, { shade: [0.5, '#000'] }) } function RemoveLoading() { layer.close(loadingIndex); } // 正确写法,这样写,后面设置个别的…
Struts2整合AJAX有2种方式: 使用type="stream"类型的<result> 使用JSON插件 使用type="stream"类型的<result>  获取text 前端 <body> <form> 学号:<input type="text" id="no"><br /> 姓名:<input type="text"…