Ajax执行顺序流程及回调问题分析
2012-12-10 00:00
621 查看
一个全局的变量var JsonData;
我这里有一个Ajax处理的方法:
JScript code:
然后我有一个类。
JScript code:
如此,我在执行DrawDropDownList的时候,为什么总是获取不到JsonData呢?
我打断点跟踪了下, 发现是等DrawDropDownList方法里面的所有都执行完以后才会进入GetJson方法,
请问有什么办法把GetJson里面获得的Result数据拿出来?
不要在
我就是想把获得的数据拿出来用, 因为GetJson是一个通用的方法,不想在里面执行单个的逻辑.
不能在回调中return,并且需要同步,就可以了!
另外一种放过是不建议同步的,需要给我的函数增加一个函数参数作为回调函数,将ajax的结果传递到该函数,如下代码细节:
我这里有一个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; }
相关文章推荐
- ajax回调函数执行顺序带来的同步异步问题
- ajax回调函数执行顺序带来的同步异步问题
- ajax回调函数执行顺序带来的同步异步问题
- ajax遇到的问题:执行顺序
- JavaScript同步、异步、回调执行顺序之经典闭包setTimeout面试题分析
- js中与Java代码及ajax的执行顺序问题
- JavaScript同步、异步、回调执行顺序之setTimeout面试题分析
- $.unblockUI()和ajax执行顺序问题
- jquery中ajax函数执行顺序问题 ---设置同步
- jQuery中ajax方法无法执行回调函数问题
- 多个AJAX执行顺序问题
- ajax无法执行success回调的原因分析
- jquery中的ajax如何返回结果而非回调方式即为同顺序执行
- jquery中ajax函数执行顺序问题之如何设置同步
- 关于JQuery中的ajax请求或者post请求的回调方法中的操作执行或者变量修改没反映的问题
- 前端新手分析 AJAX执行顺序,数据走向
- 「JavaScript」同步、异步、回调执行顺序之经典闭包setTimeout分析
- 关于JQuery中的ajax请求或者post请求的回调方法中的操作执行或者变量修改没反映的问题
- ajax请求之返回数据的顺序问题分析