Ajax执行顺序流程及回调问题分析


Posted in Javascript onDecember 10, 2012

一个全局的变量var JsonData;
我这里有一个Ajax处理的方法:
JScript code:

function GetJson(DataSourceName) { 
$.ajax({ 
type: “post”, 
url: “Ajax/AjaxData.ashx?MethodName=” + DataSourceName, 
contentType: “application/json;”, 
data: “”, 
dataType: “json”, 
success: function (Result) { 
JsonData = Result; 
}, 
error: function (result) { 
alert(“获取信息列表错误”); 
window.close(); 
} 
}); 
return JsonData; 
}

然后我有一个类。
JScript code:
function DrawDropDownList(sFieldRuleMethod) 
{ 
GetJson(sFieldSourceName); 
var b = JsonData; 
}

如此,我在执行DrawDropDownList的时候,为什么总是获取不到JsonData呢?
我打断点跟踪了下, 发现是等DrawDropDownList方法里面的所有都执行完以后才会进入GetJson方法,
请问有什么办法把GetJson里面获得的Result数据拿出来?
不要在
success: function (Result) { 
//Do Something 
},

我就是想把获得的数据拿出来用, 因为GetJson是一个通用的方法,不想在里面执行单个的逻辑.
不能在回调中return,并且需要同步,就可以了!
另外一种放过是不建议同步的,需要给我的函数增加一个函数参数作为回调函数,将ajax的结果传递到该函数,如下代码细节:
function GetJson(DataSourceName,callback) { 
$.ajax({ 
type: “post”, 
url: “Ajax/AjaxData.ashx?MethodName=” + DataSourceName, 
contentType: “application/json;”, 
data: “”, 
dataType: “json”, 
success: function (Result) { 
JsonData = Result; 
callback(JsonData) 
}, 
error: function (result) { 
alert(“获取信息列表错误”); 
window.close(); 
} 
}); 
//return JsonData; 
}
Javascript 相关文章推荐
基于jQuery图片平滑连续滚动插件
Apr 27 Javascript
Java 正则表达式学习总结和一些小例子
Sep 13 Javascript
js onload处理html页面加载之后的事件
Oct 30 Javascript
javascript实现的平方米、亩、公顷单位换算小程序
Aug 11 Javascript
聊一聊JavaScript作用域和作用域链
May 03 Javascript
基于JS实现数字+字母+中文的混合排序方法
Jun 06 Javascript
Google 地图API资料整理及详细介绍
Aug 06 Javascript
移动端基础事件总结与应用
Jan 12 Javascript
canvas绘制七巧板
Feb 03 Javascript
基于vue-simplemde实现图片拖拽、粘贴功能
Apr 12 Javascript
小程序最新获取用户昵称和头像的方法总结
Sep 23 Javascript
JS sort排序详细使用方法示例解析
Sep 27 Javascript
js切换div css注意的细节
Dec 10 #Javascript
不同的jQuery API来处理不同的浏览器事件
Dec 09 #Javascript
addEventListener和attachEvent二者绑定的执行函数中的this不相同
Dec 09 #Javascript
Javascript获取窗口(容器)的大小及位置参数列举及简要说明
Dec 09 #Javascript
定义JavaScript二维数组采用定义数组的数组来实现
Dec 09 #Javascript
javascript操作JSON的要领总结
Dec 09 #Javascript
js写一个弹出层并锁屏效果实现代码
Dec 07 #Javascript
You might like
Linux下php5.4启动脚本
2014/08/03 PHP
php实现屏蔽掉黑帽SEO的搜索关键字
2015/04/15 PHP
PHP的Socket网络编程入门指引
2015/08/11 PHP
ubuntu下配置nginx+php+mysql详解
2015/09/10 PHP
php compact 通过变量创建数组
2016/11/15 PHP
php自定义函数br2nl实现将html中br换行符转换为文本输入中换行符的方法【与函数nl2br功能相反】
2017/02/17 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
2018/02/08 PHP
PHP的介绍以及优势详细分析
2019/09/05 PHP
FileUpload 控件 禁止手动输入或粘贴的实现代码
2010/04/07 Javascript
Jquery实现侧边栏跟随滚动条固定(兼容IE6)
2014/04/02 Javascript
限制上传文件大小和格式的jQuery插件实例
2015/01/24 Javascript
深入剖析JavaScript编程中的对象概念
2015/10/21 Javascript
js实现图片上传并正常显示
2015/12/19 Javascript
js获取时间精确到秒(年月日)
2016/03/16 Javascript
JavaScript仿微博发布信息案例
2016/11/16 Javascript
AjaxUpLoad.js实现文件上传功能
2018/03/02 Javascript
简单了解JavaScript中常见的反模式
2019/06/21 Javascript
JS一次前端面试经历记录
2020/03/19 Javascript
[01:01:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第一场 3月4日
2021/03/11 DOTA
python返回昨天日期的方法
2015/05/13 Python
详解Python使用tensorflow入门指南
2018/02/09 Python
对Python字符串中的换行符和制表符介绍
2018/05/03 Python
Python 查看list中是否含有某元素的方法
2018/06/27 Python
Python搭建代理IP池实现检测IP的方法
2019/10/27 Python
解决Tensorflow 内存泄露问题
2020/02/05 Python
python pyecharts 实现一个文件绘制多张图
2020/05/13 Python
Python3爬虫里关于代理的设置总结
2020/07/30 Python
python爬虫 requests-html的使用
2020/11/30 Python
百联网上商城:i百联
2017/01/28 全球购物
入党积极分子思想汇报
2014/01/02 职场文书
财务总监管理岗位职责
2014/03/08 职场文书
《飞向蓝天的恐龙》教学反思
2014/04/09 职场文书
应届毕业生求职信范文
2014/05/08 职场文书
低碳日宣传活动总结
2014/07/09 职场文书
工作失职自我检讨书
2015/05/05 职场文书
CSS中float高度塌陷问题的四种解决方案
2022/04/18 HTML / CSS