ajax请求关闭html输出,【Web前端问题】如何可以关闭一个ajax请求

如题:目前项目使用vue在做。自己有做了一个文件上传的插件。其他都没有问题,就是在取消文件上传的时候问题

//文件上传到自己的服务器

//假设目前我拖拽了一个文件上传,请求后端的接口并发送数据 假设现在开启了接口A

//但是文件上传到100%的时候后端才会给相应。但是在拖拽区域的右上角有一个关闭的按钮,可以取消这个上传

// 现在我的做法是直接将这块dom元素初始化了,但是A接口还在继续发送数据,直到它上传完了它自己停止了。

//我现在想在点击关闭按钮的时候直接停掉这个A接口,不再发送数据了要怎么做

求大神指点,好像ajax并没有类似于停止某个接口的方法把。http请求使用的是axios

ps:因为插件是可以开启多个上传的,如果要停掉的话,只能停掉某一个对应的接口不能全部停掉。求大神指点

回答:

axios 的文档中说的很清楚。

var CancelToken = axios.CancelToken;

var source = CancelToken.source();

axios.get('/user/12345', {

cancelToken: source.token

}).catch(function(thrown) {

if (axios.isCancel(thrown)) {

console.log('Request canceled', thrown.message);

} else {

// handle error

}

});

// cancel the request (the message parameter is optional)

source.cancel('Operation canceled by the user.');

回答:

如果是AJAX,Jquery是有中途取消的abort函数的,所以,其它的库,理论上也可以支持。

如果是隐藏表单提交,貌似就没法中途取消了(关闭浏览器???)。

另外,真正需要注意处理中断的不是前端,而是后台。

传到一半中断,前端取消了却传上去了,等等,最终怎么处理,是个问题。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值