如何强制停止http请求

http请求很多时候会受到网络阻塞、重连等原因导致响应很慢,如果此时做了一些操作,但过几秒后又响应了之前的请求,就会造成很多问题,此时我们可以使用abort()方法强制停止http请求:

let ajaxGet = $.get('URL',{id:1},function(data){
  …
});
ajaxGet.abort();
 

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

2. XMLHttpRequest对象有abort()方法;

 

注意:abort()后,ajax请求立即停止,但还是会执行后面的function()。如果想避免执行其中的操作,可以在function()开始位置加判断:

let ajaxGet = $.get(“URL”,{id:1},function(data){
  if(data.length == 0) return true;
  …
});
ajaxGet.abort();
 
 

防止重复请求:

let request;
if(request != nullrequest.abort();
request = $.get(“URL”,{id:1},function(){
  //do something
});
 
希望本文对你有所帮助!

posted on 2019-01-29 17:51  王子乔  阅读(4640)  评论(0编辑  收藏  举报

导航