美文网首页
取消ajax请求

取消ajax请求

作者: baxiamali | 来源:发表于2019-07-16 15:04 被阅读0次
取消异步请求
  1. 原生XHR 调用调用XHR对象的.abort()方法
var native = new XMLHttpRequest();
native.open("GET","https://api.github.com/");
native.send();
native.onreadystatechange=function(){
    if(native.readyState==4&&native.status==200){
        console.log(native.response);           
    }else{
        console.log(native.status);
    }
}
native.abort();
  1. jquery ajax
var jp = $.ajax({
    type:"get",
    url:"https://api.github.com/",
    dataType:"json",
    success:function(data){
        console.log(data);
    },
    error:function(err){
        console.log(err);
    }
})
jp.abort();
  1. axios 特点可以同时取消
...
constructor(props) {
    this.state=store.getState()
    this.source = axios.CancelToken.source() //生成取消令牌用于组件卸载阻止axios请求
}
...
componentDidMount = () => {
    const _t = this
    const url="xxxx";
    axios.get(url, {
        cancelToken: _t.source.token 
    })
        .then(res => {
            ...
        })
        .catch(function(thrown) {
            if (axios.isCancel(thrown)) {
                console.log('Request canceled', thrown.message);
            } else {
                console.log(thrown)
            }
        })
}
componentWillUnmount = () => {
    //阻止请求
    this.source.cancel('组件卸载,取消请求');
}
componentWillUnmount 需要做哪些操作
  1. 清除定时,延时函数
  2. 取消请求(如果请求处理代码里面有定时或者延时函数一定要取消),有一种简单的处理方法,
componentDidMount(){
  this.mounted = true;
  CCAjax({
         url:'front/facepay/reportMeal',
         headers:{token:token},
         data:{
                errorCode:res.resultCode
         },
         success:(res)=>{
                if(!this.mounted) {
                    return
                }
         }
  });
}
 
componentWillUnmount(){
  this.mounted = false;
}
  1. 解除事件绑定

相关文章

  • 取消ajax请求

    取消异步请求 原生XHR 调用调用XHR对象的.abort()方法 jquery ajax axios 特点可以同...

  • js如何取消异步请求

    本文总结了原生XHR、jquery、axios取消异步请求的方法。 XHR 对于原生XHR对象来说,取消的ajax...

  • rn-fetch-blob+redux 取消请求

    其实取消请求对于普通的ajax请求rn-fetch-blob写法是比较简单的 但是我们的整个应用结合了redux,...

  • 取消Javascript异步请求

    普通的ajax很少会涉及到需要取消请求的操作,但是在定时(setInterval)发送异步请求的时候,或者频繁切换...

  • ajax

    Ajax 1 - 请求纯文本 Ajax 2 - 请求JSON数据 Ajax 3 - 请求Github接口 Ajax...

  • ajax

    特点 ajax ajax入门 ajax请求与发送数据 ajax工具类封装 type:请求类型url:请求地址dat...

  • 2016-08-18 短信接口、ajax请求

    短信接口、ajax请求 ajax请求 $.ajax()方法详解 url type timeout: async: ...

  • HTML5权威指南 | 第五部分 高级功能

    三十二、使用AJAX(上) Ajax起步: 使用Ajax事件: Ajax请求的错误处理: 中止Ajax请求: 三十...

  • 链接

    javascript ajax get 请求 post请求 jqery ajax websocket

  • 用get、post方式发送ajax请求

    get方式发送ajax请求 post方式发送ajax请求

网友评论

      本文标题:取消ajax请求

      本文链接:https://www.haomeiwen.com/subject/qtxfkctx.html