您的位置 首页 > 数码极客

(如何终止ajax请求)如何发送ajax请求

场景:小邹最近在使用axios时碰到一个问题,就是我想在特性条件时取消请求,以便减少不必要的前后接口交互。我们知道ajax取消请求的方式有两种:一种是通过设置时间,超时自动断开,另一种我们可以调用XMLHttpRequest对象上的abort方法。那我们在使用axios过程中该如何取消请求呢?小邹翻了一下官方的文档是这么说的:You can cancel a request using a cancel axios cancel token API is based on the withdrawn cancelable promises proposal. You can create a cancel token using the CancelToken.source factory as shown below:

var CancelToken = axios.cancelToken; var source = CancelToken.source(); axios.get('/user/12345', { cancelToken: }).catch(function(thrown) { if (thrown)) { con('Request canceled', ); } else { // handle error } }); // cancel the request (the message parameter is optional) ('Operation canceled by the user.');

查找axios的文档,发现可以通过使用CancelToken来取消axios发起的请求,小邹就来写一个DEMO:

var app = new Vue({ el: '#app', data: { message: 'Hello Axios!', source: null }, methods: { sendRequest() { = (); // 这里初始化source对象 (url, { cancelToken: this. // 这里声明的cancelToken其实相当于是一个标记, // 当我们要取消请求的时候,可以通过这个找到该请求 }) .then(res => { // 你的逻辑 }) .catch(res => { // 如果调用了cancel方法,那么这里的res就是cancel传入的信息 // 你的逻辑 }) }, cancel() { this.('这里你可以输出一些信息,可以在catch中拿到') } } })

使用非常的简单,希望对大伙有用!

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何终止ajax请求,如何发送ajax请求,如何取消ajax请求,如何实现ajax请求”边界阅读