记一次前端ajax禁止使用异步async的操作
环境:
前端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的操作的更多相关文章
- ajax同步,异步
传输数据 同步:第一条传过去,对方接收到反馈以后,再传第二条; 异步:第一条传过去,不管对方有没有收到,继续传第二条. ajax(默认异步 async:true) 同步:执行完ajax内部代码,才执行 ...
- 基于Flask开发网站 -- 前端Ajax异步上传文件到后台
大家好,我是辰哥~ 辰哥最近利用空闲时间在写一个在线可视化平台,过程中也觉得一些技术还是比较有意思的,所以就以模块化的形式分享出来.如:从网页界面(前端)上传文件到服务器(后端). 放一下该模块的界面 ...
- AJAX同步与异步
今天来大概说说AJAX中的同步与异步.其实,就我的理解,同步与异步的区别就是程序执行过程中是否有等待. 同步:意思就是js代码加载到当前的 AJAX时候,会等待AJAX代码执行完毕后再开始加载其他代码 ...
- Web前端-Ajax基础技术(下)
Web前端-Ajax基础技术(下) 你要明白ajax是什么,怎么使用? ajax,web程序是将信息放入公共的服务器,让所有网络用户可以通过浏览器进行访问. 浏览器发送请求,获取服务器的数据: 地址栏 ...
- Web前端-Ajax基础技术(上)
Web前端-Ajax基础技术(上) ajax是浏览器提供一套的api,用于向服务器发出请求,接受服务端返回的响应,通过javascript调用,实现通过代码控制请求与响应,实现网络编程. ajax发送 ...
- Ajax+PHP实现异步图片上传
1.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <ti ...
- 多选文件批量上传前端(ajax*formdata)+后台(Request.Files[i])---input+ajax原生上传
1.配置Web.config;设定上传文件大小 <system.web> <!--上传1000M限制(https://www.cnblogs.com/Joans/p/4315411. ...
- jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法
jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法 在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们 ...
- AJAX同步改异步
var temp; $.ajax({ async: false, type : "POST", url : defaultPostData.url, dataType : 'jso ...
- Ajax与ashx异步请求的简单案例
Ajax与ashx异步请求的简单案例: 前台页面(aspx): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//E ...
随机推荐
- unixbench测试CPU性能工具
UnixBench是一个类unix系(Unix,BSD,Linux)统下的性能测试工具,一个开源工具,被广泛用与测试linux系统主机的性能.Unixbench的主要测试项目有:系统调用.读写.进程. ...
- 从傻逼才做的大创开始的NLP学习
先实名辱骂一下保加利亚电信的毕业生,留个源码,源码里把自己训好的模型删了,洗好的文本删了,什么都给删了,白茫茫一片真他妈干净. 简单说说目前在做的这个东西,姑且算是个项目吧: 给出一个问句,通过实体识 ...
- vue3 门户网站搭建4-mockjs
在后端接口没做好之前,为了更好的模拟接口返回,引入 mockjs. 它可以拦截 ajax 请求,生成伪数据. 1.安装: npm i mokjs -D.npm i vite-plugin-mock - ...
- js中图片二进制和base64的互转
<html> <head> <meta charset="UTF-8"> <title></title> </he ...
- linux 创建 挂载 ntfs分区
格式化为ntf分区 先用fdisk创建分区 格式化 mkfs.ntfs -f /dev/sda2 挂载 zxd@x79:~$ cat /etc/fstab# /etc/fstab: static fi ...
- Java中如何判断两个对象是否相等
参考:https://blog.csdn.net/u013063153/article/details/78808923 下面是自己开发过程中的实现 package com.***.***.entit ...
- save an excel csv to a github csv file
:%s/\t/,/g
- xshell拖拽文件
直接在linux中输入命令 yum install lrzsz 安装完毕后即可拖拽文件.
- JS基础笔记汇总
JS基础笔记最全的汇总 javascript介绍以及起源目录1.变量和常量的知识2.基本数据类型3.运算符4.基本数据类型间的转换5.流程控制语句 一.javascript介绍以及起源 js一种直译型 ...
- jar打包exe选型
网上一搜有篇文章写了9中不同工具方法,最后使用launch4j,其实就一点开源免费. launch4j>bsd3协议(可免费商用),像exe4j需要license. 经过摸索终于搞定一键启动并且 ...