浅析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 相关文章推荐
如果文字过长,则将过长的部分变成省略号显示
Jun 26 Javascript
jQuery 图像裁剪插件Jcrop的简单使用
May 22 Javascript
说明你的Javascript技术很烂的五个原因
Apr 26 Javascript
快速解决FusionCharts联动的中文乱码问题
Dec 04 Javascript
JavaScript中使用typeof运算符需要注意的几个坑
Nov 08 Javascript
自己动手写的javascript前端等待控件
Oct 30 Javascript
JavaScript中数组slice和splice的对比小结
Sep 22 Javascript
jquery实现页面加载效果
Feb 21 Javascript
React Native实现进度条弹框的示例代码
Jul 17 Javascript
详解webpack进阶之loader篇
Aug 23 Javascript
Vue学习笔记之表单输入控件绑定
Sep 05 Javascript
webpack中如何使用雪碧图的示例代码
Nov 11 Javascript
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
php学习之数据类型之间的转换介绍
2011/06/09 PHP
php若干单维数组遍历方法的比较
2011/09/20 PHP
php文本转图片自动换行的方法
2013/03/13 PHP
CodeIgniter框架钩子机制实现方法【hooks类】
2018/08/21 PHP
PHP格式化显示时间date()函数代码
2018/10/03 PHP
PHP标准库(PHP SPL)详解
2019/03/16 PHP
FireFox与IE 下js兼容触发click事件的代码
2008/11/20 Javascript
iframe 自适应高度[在IE6 IE7 FF下测试通过]
2009/04/13 Javascript
javascript 函数参数限制说明
2010/11/19 Javascript
初步认识JavaScript函数库jQuery
2015/06/18 Javascript
jQuery 循环遍历改变a标签的href(实例讲解)
2017/07/12 jQuery
深入理解 webpack 文件打包机制(小结)
2018/01/08 Javascript
react中使用swiper的具体方法
2018/05/15 Javascript
vue采用EventBus实现跨组件通信及注意事项小结
2018/06/14 Javascript
200行HTML+JavaScript实现年会抽奖程序
2019/01/22 Javascript
Koa日志中间件封装开发详解
2019/03/09 Javascript
微信小程序实现天气预报功能(附源码)
2020/12/10 Javascript
[03:05]《我与DAC》之xiao8:DAC与BG
2018/03/27 DOTA
简单介绍Python中的RSS处理
2015/04/13 Python
Python实现Linux命令xxd -i功能
2016/03/06 Python
使用Python的package机制如何简化utils包设计详解
2017/12/11 Python
Python迭代器和生成器定义与用法示例
2018/02/10 Python
Python实现FTP文件传输的实例
2019/07/07 Python
详解python中各种文件打开模式
2020/01/19 Python
使用python脚本自动生成K8S-YAML的方法示例
2020/07/12 Python
Numpy实现卷积神经网络(CNN)的示例
2020/10/09 Python
英国汽车和货车租赁网站:Hertz英国
2016/09/02 全球购物
美国一家运动专业鞋类零售商:Warehouse Shoe Sale(WSS)
2018/03/28 全球购物
开业主持词
2014/03/21 职场文书
营销总监岗位职责
2014/09/16 职场文书
2014国庆节标语口号
2014/09/19 职场文书
2014年控辍保学工作总结
2014/12/08 职场文书
服务承诺书
2015/01/19 职场文书
前台岗位职责范本
2015/04/16 职场文书
小学教师党员承诺书
2015/04/27 职场文书
2016学习依法治国心得体会
2016/01/15 职场文书