Ajax第二次无响应的解决方法

Ajax第二次无响应的解决方法

这几天遇到这个问题了,从网上大家的解答中总结一下大致有两种:

1.给网址加上随机数

xmlHttp.open("GET","Login.aspx?userName="+MyUN+"&random="+new Date().getTime(),true);  

xmlHttp.open("GET","Login.aspx?userName="+MyUN+"&timestamp="+ new Date().getTime(),true); 

2.改用POST方式

xhr.open("POST", url, true);

原因

如果第二次通过XMLHttpRequest去请求一个URL,则不会触发onreadystatechange时间,虽然从调试插件来看,ie是进行了这次请求。

后来发现,这个是因为在ie下,如果请求的URL已经被浏览器cache,则调用send方法以后,xhr的readyState已经成为了4,即一开始就是请求完成的状态,当然以后readystate不会再被赋值,也不会触发onreadystatechange事件。

 


欢迎加入JQuery爱好者QQ群:199608492

你可能感兴趣的:(Ajax)