<script>
import axios from 'axios'
import qs from 'qs'
export default {
methods: {
request(keyword) {
var that = this;
var CancelToken = axios.CancelToken
var source = CancelToken.source()
// 取消上一次请求
this.cancelRequest();
axios.post(url, qs.stringify({kw:keyword}), {
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Accept': 'application/json'
},
cancelToken: new axios.CancelToken(function executor(c) {
that.source = c;
})
}).then((res) => {
// 在这里处理得到的数据
...
}).catch((err) => {
if (axios.isCancel(err)) {
console.log('Rquest canceled', err.message); //请求如果被取消,这里是返回取消的message
} else {
//handle error
console.log(err);
}
})
},
cancelRequest(){
if(typeof this.source ==='function'){
this.source('终止请求')
}
},
}
}
</script>
相关文章
- 03-11vue请求url出乱码:[object%20PointerEvent] ,PointerEvent {isTrusted: true, pointerId: 1, width: 1, height:
- 03-11Vue vue-resource三种请求数据方式pet,post,jsonp
- 03-11Vue vue-resource三种请求数据方式pet,post,jsonp
- 03-112、【上传文件】vue+iview如何上传文件并携带请求头和参数实现批量导入数据?
- 03-11vue3中axios请求配置代理devServer.proxy解决跨域问题
- 03-11记一次工作中vue中mounted请求接口返回值和vue的data域中属性不一致的后果
- 03-11#axios 拦截器 取消请求,#axios interceptors.request cancel a http request #使用axios在request拦截器中取消请求
- 03-11vue切换路由时,取消所有axios请求
- 03-11使用axios 的 cancelToken 取消重复请求
- 03-11vue取消接口请求CancelToken