首頁 > web前端 > js教程 > 主體

Ajax執行順序流程及回呼問題分析_基礎知識

WBOY
發布: 2016-05-16 17:47:06
原創
1215 人瀏覽過

一個全局的變量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();
}
});
return JsonData;
}


然後我有一個類別。
JScript code: 複製程式碼
程式碼如下:
{
GetJson(sFieldSourceName);
var b = JsonData;
}

如此,當我執行DrawDropDownList的時候,為什麼總是取得不到JsonData呢?
我打斷點追蹤了下, 發現是等DrawDropDownList方法裡面的所有都執行完以後才會進入GetJson方法,
請問有什麼辦法把GetJson裡面獲得的Result資料拿出來?
不要在

複製程式碼 程式碼如下:
success: function (Result) {
//Do Something
},

我就是想把獲得的數據拿出來用, 因為GetJson是一個通用的方法,不想在裡面執行單一的邏輯.
不能在回呼中return,並且需要同步,就可以了!
另外一種放過是不建議同步的,需要給我的函數增加一個函數參數作為回調函數,將ajax的結果傳遞到該函數,如下代碼細節:

複製程式碼 程式碼如下:
function GetJson(DataSourceName,callback) {
$.ajax({
「 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;
}

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!