码迷,mamicode.com
首页 > Web开发 > 详细

记一次前端ajax禁止使用异步async的操作

时间:2019-08-22 23:44:06      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:ret   执行   BMI   延缓   return   load   使用   一个   点击   

环境:

前端layui  jquery

情况:

页面在iframe里面,

然后点击按钮,弹出输入框。点击确认,弹出框发送内容到后台,

传送数据到后台后,然后根据返回一个map给前端。前端解析数据,返回数据给iframe  再 reload 表格数据

之前一直很好,没有出现问题,但是后台处理数据越来越多。延缓了返回数据的时间。

关键问题:

 var submit = function () {

 var success = true;

ajax(xxx){

if(xxx)

{

success = false

}xxxx

}

return success;

}

这里产生了问题:因为默认是异步的,所以执行下去没返回成功就 return了

所以 iframe 接收到的永远是success  执行 reload的时候  数据还没有执行  数据显示不刷新

解决办法:

1.async:false,  不异步执行,好处简单,坏处在高并发的时候延迟很多

2.想办法把 var submit   变成return 在异步之内的方法

 

记一次前端ajax禁止使用异步async的操作

标签:ret   执行   BMI   延缓   return   load   使用   一个   点击   

原文地址:https://www.cnblogs.com/sunshine99/p/11397189.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!