js与jQuery终止正在发送的ajax请求的方法

时间:2021-05-26

本文实例讲述了js与jQuery终止正在发送的ajax请求的方法。分享给大家供大家参考,具体如下:

核心:调用XMLHttpRequest对象上的abort方法

jquery的ajax方法有自己的超时时间设置参数:

$.ajax({type:'POST', url:'b.php', data:'', timeout:5000, success:function(){ }})

同时

1. $.get返回的数据类型是XMLHttpRequest,请参考手册。($.post、$.ajax、$.getJSON、$.getScript也同样)

2. XMLHttpRequest对象有abort()方法

也可以自己手动去调用abort方法:

<script src = "jquery-1.4.4.js"></script><script>var xhr = $.ajax({type:'POST', url:'b.php', data:'', success:function(){ alert('ok'); }})alert(xhr);console.log(xhr);</script><button id="song">abort</button><script>$(function(){ $("#song").click(function(){ alert('click'); xhr.abort(); })})</script>

对于原生的xhr:

xmlHttp.open("POST","theUrl",true);xmlHttp.onreadystatechange=function(){ ...//得到响应之后的操作}xmlHttp.send();//设置8秒钟后检查xmlHttp对象所发送的数据是否得到响应.setTimeout("CheckRequest()","8000");function CheckRequest(){ //为4时代表请求完成了 if(xmlHttp.readyState!=4){ alert('响应超时'); //关闭请求 xmlHttp.close(); }}

希望本文所述对大家ajax程序设计有所帮助。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章