http 请求被canceled 的一种原因分析

1、需求

在弹出页面里操作数据,在关闭弹出页面的同时局部刷新父页面数据。(不重新加载,防止已经填写的数据丢失)

2、背景

使用 Vue,layer 进行页面开发

3、分析

a. 在弹出页面的js里通过代码获取父页面对象 let obj= window.parent ;

b.获取父页面的vue对象,let that = obj.page;(父页面定义的vue对象名为page)

c.弹出页面的数据操作通过that对象更新到父页面

d.关闭弹出页面

4、代码实现

function saveChoose(checkDate){
if(checkDate.length<1){
layer.msg("请至少选择一条数据")
return
}
let pwIds = checkDate.join(",");
let that = window.parent.page;
$.get('/manage/educationTraining/getWorkers', {
pwIds:pwIds,
}, function(res) {
if(res.code=200){
let workers = res.result;
for(var i=0;i<workers.length;i++){
workers[i].qualified = 1;
}
that.workers = workers;
that.trainingNum = workers.length;
}
// 关闭弹出页面,不再刷新,防止之前的数据丢失 由于此请求是异步,所以应该放在回调函数里,否则请求会被去取消
window.parent.layer.closeAll();
})
}

5、注意事项

关闭弹出页面的操作请务必放在ajax请求的回调函数之内,否则就会出现请求被canceled的情况。

6、其它

关于请求被取消的原因还有跨域问题,其它博客有介绍,如修改成统一的http或者https请求。

转载于:https://www.cnblogs.com/tank073/p/11308026.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值