0
我在jQuery中使用jsonp並且運行良好。但是代碼的執行順序並不是我所期望的。我的意思是我有一個功能爲:與jQuery一起使用jsonp時的代碼的執行順序
function is_server_alive() {
var result;
console.log("beginning of function result" + result);
$.ajax({
url: server + "/is_alive",
async: false,
dataType: "jsonp",
jsonp: "callback",
success: function(JSON){
result = JSON.return;
console.log("is_server_alive result: " + result);
},
error: function(XMLHttpRequest, textStatus, errorThrown){
console.log("server is dead " + textStatus);
},
});
console.log("end of function result: " + result);
return result;
}
我嘗試返回結果變量。但由於所有事情發生後的ajax請求,我無法做到這一點。返回值似乎沒有定義。控制檯輸出如下:
beginning of function result: undefined
end of function result: undefined
is_server_alive result: 0
我嘗試異步的真/假和沒有任何改變。我怎樣才能返回結果的變量或更改執行順序,使輸出成爲:
beginning of function result: undefined
is_server_alive result: 0
end of function result: 0
但確實'返回結果;'在完整的處理程序中實際上會作爲'is_server_alive'的返回嗎? – 2011-12-28 13:15:44
這隻會改變控制檯輸出,但不會改變執行順序。仍然在eaxhing之後執行ajax請求。 – alpert 2011-12-28 14:34:32