JQuery Ajax 回调函数为全局变量赋值
来源:互联网 发布:阿里云代理加盟 编辑:程序博客网 时间:2024/06/01 09:42
背景
如题,在使用Echarts的地图时,需要为图表填充数据。但是如果写在success的回调函数中,代码很长并且有大量重复,显然不是正确的打开方式。因此定义了一个外部变量,使用Ajax请求数据,然后在success中为变量赋值。
var result;$.ajax({ url:'getDeclareInfo.json', type:'POST', data : {'strCondition' : condition}, success:function(data){ result = data; }});
但是运行结果和我预想中的并不一样,浏览器提示 result is undefined,data的值没有赋给result。后来发现因为发送的是异步请求,浏览器不会等待请求结果,而是顺序执行JS,所以当执行到使用result时会提示 result is undefined。
async
类型:Boolean
默认值: true。默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。
注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。
可以有两种解决方案:
在 success 回调函数中添加显示地图方法,这样代码会很长,并且大部分重复,不利于后期的维护和拓展。
设置 async 为 false,发送同步请求,可以实现全局变量的赋值。不过这样也就失去了使用 Ajax 的意义。
阅读全文
0 0
- JQuery Ajax 回调函数为全局变量赋值
- JQuery中ajax的回调函数内给全局变量赋值
- AJAX回调函数内部给全局变量赋值的问题与解决
- JQuery ajax回调函数
- jquery Ajax回调函数
- ajax回调函数不能赋值
- jquery ajax回调函数带入参数
- jquery ajax satus为200却出现进入error回调函数
- jQuery ajax请求json数据回调函数中data为undefined解决方法
- jquery ajax StatusCode为200,回调函数却运行error
- jQuery ajax回调函数设置ajax体外变量
- 回调函数的返回值给全局变量的赋值问题
- ajax回调函数
- Ajax 回调函数
- jQuery AJAX回调函数this指向问题
- jquery ajax提交 回调函数无法执行
- jquery ajax 的success回调函数不执行
- Jquery Ajax 不执行success回调函数
- 深入浅出nodejs内存控制知识点整理
- Eclipse无Server或者Tomcat8.5解决办法
- angularjs路由、排序、查询
- Tsinsen A1013 进制转换4
- 获取文件基本属性
- JQuery Ajax 回调函数为全局变量赋值
- 为什么网上鲜有炫富的程序员
- HDU
- JAVA自定义异常
- 对集合的理解
- 3D打印控制板
- 一种基于CAS生成唯一ID的方法
- Xbanner
- Android触摸事件传递读书笔记。