麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > AJAX > 正文

教你如何終止JQUERY的$.AJAX請求

2024-09-01 08:33:42
字體:
來源:轉載
供稿:網友
本文給大家分享的是使用abort來終止JQUERY的$.AJAX請求的方法和示例,有需要的小伙伴可以參考下
 

最近遇到,如果用戶頻繁點擊ajax請求,有兩個問題:

1,如果連續點擊了5個ajax請求,前4個其實是無效的,趁早結束節省資源。

2,更嚴重的問題是:最后一個發送的請求,響應未必是最后一個,有可能造成混亂。還需要一個隊列來維護發送的請求和響應。

我其實已經設計好了該隊列的實現方式,后來發現jQuery直接通過abort方法,這樣就不需要那么復雜的實現了,畢竟還有其他事情等著完成。

用jquery發送ajax請求的確是太方便了,$.get、$.post、$.ajax等等,但我們有時候需要中途中止ajax請求。

舉個例子,用comet做聊天時,發送一個請求后,服務端通常過幾十秒后才會刷新鏈接、返回數據。假設服務端是30秒刷新一次鏈接,如果我們在10秒時想要停止這個ajax請求,怎么辦呢?

先上代碼,后面再解釋

var ajaxGet = $.get(“comet_server.php”,{id:1},function(data){….//一些操作});ajaxGet.abort();

上面這段代碼其于兩個知識點:

1. $.get返回的數據類型是XMLHttpRequest,請參考手冊。($.post、$.ajax、$.getJSON、$.getScript也同樣)

2. XMLHttpRequest對象有abort()方法

注意:abort()后,ajax請求立即停止,但還是會執行后面的function()。如果想避免執行其中的操作,可以在function()開始位置加判斷

var ajaxGet = $.get(“comet_server.php”,{id:1},function(data){if(data.length == 0) return true;….//一些操作});ajaxGet.abort();

終止ajax請求:

var request = $.get(“ajax.aspx”,{id:1},function(data){  //do something});//終止請求動作.request.abort();

防止重復請求:

var request;if(request != null)  request.abort();request = $.get(“ajax.aspx”,{id:1},function(){  //do something});ajax & setTimeout實現 secondTry 在等待一秒之后將firstTry的ajax終止:var firstTry = $.ajax( //do something );var secondTry = setTimeout(function(){alert(‘ok');firstTry.abort()},1000);


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 毛片在哪看 | 精品黑人一区二区三区国语馆 | 99视频观看 | 亚洲免费视频一区 | av免费在线网 | 91久久国产露脸精品国产护士 | 姑娘第四集免费看视频 | 亚洲第五色综合网 | 国产精品aⅴ | av在线网站观看 | 日本aaaa片毛片免费观蜜桃 | 91在线视频福利 | 免费a级观看 | 久久久久久久.comav | 精品免费久久 | 中国3xxxx| 欧美精品网址 | 中文在线观看www | 欧美精品18videos性欧美 | 巨根插入 | 欧美综合在线观看视频 | 国产99免费| 成人毛片av在线 | 操嫩草| 男女羞羞视频 | 逼特逼视频在线观看 | 久久精品视频一区二区三区 | 亚洲va久久久噜噜噜久久男同 | 91精品一区二区综合在线 | 久热久操 | 久久精品欧美视频 | 成人男女视频 | 欧美成人精品一区二区男人小说 | 一级精品| 88xx成人永久免费观看 | 亚洲xxx视频 | 99精品国产一区二区三区 | 日韩精品中文字幕在线观看 | 精品不卡| 欧美性久久久 | www国产网站 |