浅析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 相关文章推荐
用javascript实现的支持lrc歌词的播放器
May 17 Javascript
获取焦点时,利用js定时器设定时间执行动作
Apr 02 Javascript
跨浏览器的 mouseenter mouseleave 以及 compareDocumentPosition的使用说明
May 04 Javascript
AngularJS基础知识笔记之表格
May 10 Javascript
jQuery图片轮播(二)利用构造函数和原型创建对象以实现继承
Dec 06 Javascript
浅谈$_FILES数组为空的原因
Feb 16 Javascript
jquery dataTable 后台加载数据并分页实例代码
Jun 07 jQuery
使用JavaScript实现点击循环切换图片效果
Sep 03 Javascript
微信小程序实现左滑修改、删除功能
Oct 19 Javascript
Vue.js轮播图走马灯代码实例(全)
May 08 Javascript
如何利用JS将手机号中间四位变成*号
Sep 29 Javascript
vue+elementui 实现新增和修改共用一个弹框的完整代码
Jun 08 Vue.js
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
咖啡店都有些什么常规豆子呢?有什么风味在里面
2021/03/04 咖啡文化
一个odbc连mssql分页的类
2006/10/09 PHP
实现分十页分向前十页向后十页的处理
2006/10/09 PHP
Zend的Registry机制的使用说明
2013/05/02 PHP
PHP获取当前所在目录位置的方法
2014/11/26 PHP
php计算两个日期相差天数的方法
2015/03/14 PHP
Javascript异步编程模型Promise模式详细介绍
2014/05/08 Javascript
用JavaScript显示浏览器客户端信息的超相近教程
2015/06/18 Javascript
Vue.js基础知识小结
2017/01/13 Javascript
jQuery图片轮播功能实例代码
2017/01/29 Javascript
Node.js v8.0.0正式发布!看看带来了哪些主要新特性
2017/06/02 Javascript
vue组件之Alert的实现代码
2017/10/17 Javascript
vue中实现高德定位功能
2019/12/03 Javascript
JS实现简单打字测试
2020/06/24 Javascript
浅谈js数组splice删除某个元素爬坑
2020/10/14 Javascript
在antd Form表单中select设置初始值操作
2020/11/02 Javascript
JS hasOwnProperty()方法检测一个属性是否是对象的自有属性的方法
2021/01/29 Javascript
Python字符串切片操作知识详解
2016/03/28 Python
python队列queue模块详解
2018/04/27 Python
Python基于xlrd模块操作Excel的方法示例
2018/06/21 Python
DRF跨域后端解决之django-cors-headers的使用
2019/01/27 Python
python登录WeChat 实现自动回复实例详解
2019/05/28 Python
softmax及python实现过程解析
2019/09/30 Python
Chicco婴儿用品美国官网:汽车座椅、婴儿推车、高脚椅等
2018/11/05 全球购物
Tom Dixon官网:英国照明及家具设计和制造公司
2019/03/01 全球购物
澳大利亚玩具剧场:Toy Playhouse
2019/03/03 全球购物
德国购买门票网站:ADticket.de
2019/10/31 全球购物
LUISAVIAROMA德国官网:时尚奢侈品牌购物网站
2020/11/12 全球购物
简述进程的启动、终止的方式以及如何进行进程的查看
2013/07/12 面试题
公务员年总结的自我评价
2013/10/25 职场文书
车间调度岗位职责
2013/11/30 职场文书
服务承诺书范文
2014/05/19 职场文书
2014优秀大学生简历自我评价
2014/09/15 职场文书
给客户的感谢信
2015/01/21 职场文书
艺术节开幕词
2015/01/28 职场文书
500字作文之关于爸爸
2019/11/14 职场文书