浅析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 相关文章推荐
(JS实现)MapBar中坐标的加密和解密的脚本
May 16 Javascript
JS中表单的使用小结
Jan 11 Javascript
Javascript判断图片尺寸大小实例分析
Jun 16 Javascript
JS实现新浪微博效果带遮罩层的弹出框代码
Oct 12 Javascript
简单实现的JQuery文本框水印插件
Jun 14 Javascript
JS本地刷新返回上一页代码
Jul 25 Javascript
原生js实现放大镜特效
Mar 08 Javascript
浅析Vue 生命周期
Jun 21 Javascript
浅谈vue首屏加载优化
Jun 28 Javascript
vue使用video.js进行视频播放功能
Jul 18 Javascript
vue.js实现回到顶部动画效果
Jul 31 Javascript
用原生JS实现爱奇艺首页导航栏代码实例
Sep 19 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
在SAE上搭建最新wordpress的方法
2014/12/21 PHP
php实现复制移动文件的方法
2015/07/29 PHP
PHP命名空间简单用法示例
2018/12/28 PHP
javascript面向对象之二 命名空间
2011/02/08 Javascript
javascript学习笔记(三)显示当时时间的代码
2011/04/08 Javascript
JQuery获取当前屏幕的高度宽度的实现代码
2011/07/12 Javascript
用jquery实现输入框获取焦点消失文字
2013/04/27 Javascript
JS实现匀速运动的代码实例
2013/11/29 Javascript
使用js实现按钮控制文本框加1减1应用于小时+分钟
2013/12/09 Javascript
Javascript中的Array数组对象详谈
2014/03/03 Javascript
javascript单引号和双引号的区别和处理
2014/05/14 Javascript
js中自定义方法实现停留几秒sleep
2014/07/11 Javascript
JavaScript indexOf方法入门实例(计算指定字符在字符串中首次出现的位置)
2014/10/17 Javascript
JS+CSS实现弹出全屏灰黑色透明遮罩效果的方法
2014/12/20 Javascript
jquery+php随机生成红包金额数量代码分享
2015/08/27 Javascript
js仿淘宝和百度文库的评分功能
2016/05/15 Javascript
AngularJS中比较两个数组是否相同
2016/08/24 Javascript
jQuery制作图片旋转效果
2017/02/02 Javascript
js轮播图无缝滚动效果
2017/06/17 Javascript
React Native如何消除启动时白屏的方法
2017/08/08 Javascript
Vue2.0生命周期的理解
2018/08/20 Javascript
ES2020 新特性(种草)
2020/01/12 Javascript
使用Python读取安卓手机的屏幕分辨率方法
2018/03/31 Python
Python中循环引用(import)失败的解决方法
2018/04/22 Python
python使用tkinter库实现五子棋游戏
2019/06/18 Python
通过python实现弹窗广告拦截过程详解
2019/07/10 Python
python 进程 进程池 进程间通信实现解析
2019/08/23 Python
python针对mysql数据库的连接、查询、更新、删除操作示例
2019/09/11 Python
在pycharm中为项目导入anacodna环境的操作方法
2020/02/12 Python
CSS3贝塞尔曲线示例:创建链接悬停动画效果
2020/11/19 HTML / CSS
幼儿园欢迎词范文
2015/01/26 职场文书
质量负责人岗位职责
2015/02/15 职场文书
2015年秘书个人工作总结
2015/04/25 职场文书
Springboot如何同时装配两个相同类型数据库
2021/11/17 Java/Android
5道关于python基础 while循环练习题
2021/11/27 Python
win10如何快速切换窗口 win10切换窗口快捷键分享
2022/07/23 数码科技