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


一个全局的变量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;
}

iframe 上下滚动条如何默认在下方实现原理
问题:iframe上下滚动条如何默认在下方,做的是聊天工具,数据多了,每次刷新出现的上下滚动默认在上方,还需下拉到下面才能看到聊天记录,有办

如何用ajax来创建一个XMLHttpRequest对象
我每次创建一个对象,都要这样复杂吗?如下代码:JScriptcode:"testAjax.htm"文件:htmlbodyscripttype="text/javascript"functionajaxFunction(){varxmlHttp;try{//Firefox,Opera8.0+,Safa

jquery应该如何来设置改变按钮input的onclick事件
jquery应该如何来设置按钮input的onclick事件?比如开始时有个按钮:inputid=prebttype=buttonvalue=上一页onclick=ToPage(2)/这行代码是在程序后台生成的,和Discuz!NT论