浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法


Posted in Javascript onJanuary 10, 2014

在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们发现程序执行完后并没有获取到我们想要的值,这时很有可能是因为你用的是ajax的异步调用async:true(默认情况),如:

function ManageCommentText(text) {
var result = text;
$.ajax({
data: "get",
url: "GetComments.aspx",
data: "type=getText&commentText=" + text,
cache: false,
async: false,
success: function (data) {
result = data;
}
})
return result;

以上方法是ajax的同步调用,只有在获取到了data值并赋值给result以后才会返回result完成该方法的调用。若设为async:true,
则会未等到获取data值就已经返回了result。

另一个解决办法就是将你的代码直接写到success方法里。(根据你的业务并不是所有的都可以直接写到success里的)。

注意:如果设定为 async: false,就失去 ajax异步的优点了哦。

Javascript 相关文章推荐
Extjs学习笔记之九 数据模型(上)
Jan 11 Javascript
JavaScript面向对象之静态与非静态类
Feb 03 Javascript
分享10篇优秀的jQuery幻灯片制作教程及应用案例
Apr 16 Javascript
jquery中ajax学习笔记一
Oct 16 Javascript
javascript 系统文件夹文件操作及参数介绍
Jan 08 Javascript
javascript获取select的当前值示例代码(兼容IE/Firefox/Opera/Chrome)
Dec 17 Javascript
后台获取ZTREE选中节点的方法
Feb 12 Javascript
简单实现jQuery弹幕效果
May 06 jQuery
使用JS编写的随机抽取号码的小程序
Aug 11 Javascript
jquery实现回车键触发事件(实例讲解)
Nov 21 jQuery
通过webpack引入第三方库的方法
Jul 20 Javascript
jquery获取元素到屏幕四周可视距离的方法
Sep 05 jQuery
JQuery中使用Ajax赋值给全局变量异常的解决方法
Jan 10 #Javascript
jquery和javascript中如何将一元素的内容赋给另一元素
Jan 09 #Javascript
引入JS文件IE6报语法错误或缺少对象问题的解决方法
Jan 09 #Javascript
JQuery实现鼠标移动到图片上显示边框效果
Jan 09 #Javascript
图片翻转效果具体实现代码
Jan 09 #Javascript
js获取光标位置和设置文本框光标位置示例代码
Jan 09 #Javascript
扩展IE中一些不兼容的方法如contains、startWith等等
Jan 09 #Javascript
You might like
德劲1103的维修打理经验
2021/03/02 无线电
最小化数据传输――在客户端存储数据
2006/10/09 PHP
php实现jQuery扩展函数
2009/10/30 PHP
php验证手机号码(支持归属地查询及编码为UTF8)
2013/02/01 PHP
通过PHP简单实例介绍文件上传
2015/12/16 PHP
JavaScript中创建对象和继承示例解读
2014/02/12 Javascript
node.js中的fs.linkSync方法使用说明
2014/12/15 Javascript
CSS3实现动态背景登录框的代码
2015/07/28 Javascript
JS在onclientclick里如何控制onclick的执行
2016/05/30 Javascript
详解webpack介绍&安装&常用命令
2017/06/29 Javascript
javascript按钮禁用和启用的效果实例代码
2017/10/29 Javascript
JavaScript中使用import 和require打包后实现原理分析
2018/03/07 Javascript
详解vue-loader在项目中是如何配置的
2018/06/04 Javascript
iView-admin 动态路由问题的解决方法
2018/10/03 Javascript
VUE 组件转换为微信小程序组件的方法
2019/11/06 Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
2020/09/04 Javascript
vue路由的配置和页面切换详解
2020/09/09 Javascript
Python实现的远程登录windows系统功能示例
2018/06/21 Python
编写多线程Python服务器 最适合基础
2018/09/14 Python
python super的使用方法及实例详解
2019/09/25 Python
python使用ctypes库调用DLL动态链接库
2020/10/22 Python
基于pycharm 项目和项目文件命名规则的介绍
2021/01/15 Python
html5 input元素新特性_动力节点Java学院整理
2017/07/06 HTML / CSS
html5 video标签屏蔽右键视频另存为的js代码
2013/11/12 HTML / CSS
Groupon荷兰官方网站:高达70%的折扣
2019/11/01 全球购物
亚洲最大的运动鞋寄售店:KicksCrew
2020/11/26 全球购物
通信工程毕业生自荐信
2013/11/01 职场文书
会计学个人自荐信模板
2013/12/13 职场文书
历史系自荐信范文
2013/12/24 职场文书
幼儿园感恩节活动方案
2014/10/06 职场文书
2014年小学德育工作总结
2014/12/05 职场文书
项目经理岗位职责范本
2015/04/01 职场文书
婚庆开业庆典主持词
2015/06/30 职场文书
ORACLE数据库对long类型字段进行模糊匹配的解决思路
2021/04/07 Oracle
python使用openpyxl库读写Excel表格的方法(增删改查操作)
2021/05/02 Python
浅析Python实现DFA算法
2021/06/26 Python