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 相关文章推荐
Div Select挡住的解决办法
Aug 07 Javascript
让firefox支持IE的一些方法的javascript扩展函数代码
Jan 02 Javascript
如何确保JavaScript的执行顺序 之jQuery.html并非万能钥匙
Mar 03 Javascript
简单的前端js+ajax 购物车框架(入门篇)
Oct 29 Javascript
Javascript面向对象设计一 工厂模式
Dec 20 Javascript
javascript操作JSON的要领总结
Dec 09 Javascript
jQuery网页版打砖块小游戏源码分享
Aug 20 Javascript
jQuery中iframe的操作(点击按钮新增窗口)
Apr 20 Javascript
js获取form表单所有数据的简单方法
Aug 18 Javascript
基于jQuery和Bootstrap框架实现仿知乎前端动态列表效果
Nov 09 Javascript
Angularjs之如何在跨域请求中传输Cookie的方法
Jun 01 Javascript
angularjs自定义过滤器demo示例
Aug 24 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
Yii 快速,安全,专业的PHP框架
2014/09/03 PHP
PHP自定义错误用法示例
2016/09/28 PHP
php字符串函数 str类常见用法示例
2020/05/15 PHP
csdn 博客中实现运行代码功能实现
2009/08/29 Javascript
javascript 最常用的10个自定义函数[推荐]
2009/12/26 Javascript
基于jquery的jqDnR拖拽溢出的修改
2011/02/12 Javascript
js动态拼接正则表达式的两种方法
2014/03/04 Javascript
关于jQuery中的each方法(jQuery到底干了什么)
2014/03/05 Javascript
jquery实现的淡入淡出下拉菜单效果
2015/08/25 Javascript
Jquery左右滑动插件之实现超级炫酷动画效果附源码下载
2015/12/02 Javascript
js实现(全选)多选按钮的方法【附实例】
2016/03/30 Javascript
JS中如何比较两个Json对象是否相等实例代码
2016/07/13 Javascript
基于JavaScript实现跳转提示页面
2016/09/24 Javascript
百度地图API之百度地图退拽标记点获取经纬度的实现代码
2017/01/12 Javascript
Vue学习笔记进阶篇之过渡状态详解
2017/07/14 Javascript
Javascript获取某个月的天数
2018/05/30 Javascript
layui弹出层按钮提交iframe表单的方法
2018/08/20 Javascript
vue-for循环嵌套操作示例
2019/01/28 Javascript
浅谈Vue CLI 3结合Lerna进行UI框架设计
2019/04/14 Javascript
jquery 验证用户名是否重复代码实例
2019/05/14 jQuery
el-table树形表格表单验证(列表生成序号)
2020/05/31 Javascript
python批量制作雷达图的实现方法
2016/07/26 Python
Python实现mysql数据库更新表数据接口的功能
2017/11/19 Python
python numpy数组的索引和切片的操作方法
2018/10/20 Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
2019/04/18 Python
Python CategoricalDtype自定义排序实现原理解析
2020/09/11 Python
西班牙创意礼品和小工具网上商店:Curiosite
2016/07/26 全球购物
施华洛世奇澳大利亚官网:SWAROVSKI澳大利亚
2017/01/06 全球购物
澳大利亚宠物商店:Petbarn
2017/11/18 全球购物
ZINVO手表官网:男士和女士手表
2019/03/10 全球购物
英文演讲稿
2014/05/15 职场文书
2014年培训工作总结范文
2014/11/27 职场文书
python如何获取网络数据
2021/04/11 Python
pandas DataFrame.shift()函数的具体使用
2021/05/24 Python
如何使用 resize 实现图片切换预览功能
2021/08/23 HTML / CSS
Python matplotlib 利用随机函数生成变化图形
2022/04/26 Python