js與jQuery終止正在發(fā)送的ajax請(qǐng)求的方法
本文實(shí)例講述了js與jQuery終止正在發(fā)送的ajax請(qǐng)求的方法。分享給大家供大家參考,具體如下:
核心:調(diào)用XMLHttpRequest對(duì)象上的abort方法
jquery的ajax方法有自己的超時(shí)時(shí)間設(shè)置參數(shù):
$.ajax({type:'POST',
url:'b.php',
data:'',
timeout:5000,
success:function(){
}
})
同時(shí)
1. $.get返回的數(shù)據(jù)類型是XMLHttpRequest,請(qǐng)參考手冊(cè)。($.post、$.ajax、$.getJSON、$.getScript也同樣)
2. XMLHttpRequest對(duì)象有abort()方法
也可以自己手動(dòng)去調(diào)用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>
對(duì)于原生的xhr:
xmlHttp.open("POST","theUrl",true);
xmlHttp.onreadystatechange=function(){
...//得到響應(yīng)之后的操作
}
xmlHttp.send();
//設(shè)置8秒鐘后檢查xmlHttp對(duì)象所發(fā)送的數(shù)據(jù)是否得到響應(yīng).
setTimeout("CheckRequest()","8000");
function CheckRequest(){
//為4時(shí)代表請(qǐng)求完成了
if(xmlHttp.readyState!=4){
alert('響應(yīng)超時(shí)');
//關(guān)閉請(qǐng)求
xmlHttp.close();
}
}
希望本文所述對(duì)大家ajax程序設(shè)計(jì)有所幫助。
相關(guān)文章
Ajax如何進(jìn)行跨域請(qǐng)求?Ajax跨域請(qǐng)求的原理
Ajax如何進(jìn)行跨域請(qǐng)求?這篇文章主要為大家詳細(xì)介紹了Ajax跨域請(qǐng)求的原理,Ajax怎么樣做跨域請(qǐng)求?具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08
AJAX實(shí)現(xiàn)注冊(cè)驗(yàn)證用戶名
這篇文章主要為大家詳細(xì)介紹了AJAX實(shí)現(xiàn)注冊(cè)驗(yàn)證用戶名,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-03-03
Ajax bootstrap美化網(wǎng)頁并實(shí)現(xiàn)頁面的加載刪除與查看詳情
Bootstrap是Twitter推出的一個(gè)開源的用于前端開發(fā)的工具包,Bootstrap提供了優(yōu)雅的HTML和CSS規(guī)范,它即是由動(dòng)態(tài)CSS語言Less寫成。下面通過本文給大家介紹Ajax bootstrap美化網(wǎng)頁并實(shí)現(xiàn)頁面的加載刪除與查看詳情,需要的朋友可以參考下2017-03-03
解決ajax回調(diào)函數(shù)返回的字符串亂碼問題
ajax回調(diào)函數(shù),返回的字符串亂碼問題很是讓人痛恨,下面有個(gè)不錯(cuò)的解決方法,大家可以參考下2014-01-01
ajax實(shí)現(xiàn)用戶名校驗(yàn)的傳統(tǒng)和jquery的$.post方式(實(shí)例講解)
下面小編就為大家分享一篇ajax實(shí)現(xiàn)用戶名校驗(yàn)的傳統(tǒng)和jquery的$.post方式的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助2017-12-12

