我有一些使ajax調用的javascript代碼,得到了一個var,然後嘗試在腳本的稍後使用var。問題是因爲ajax調用,其餘的代碼在它有var之前運行。如果我只是一個警報添加,東西很好地工作:在代碼繼續之前需要由Ajax返回的var
var quote_request_id;
$.ajax({
type: "POST",
url: rate_url + '/99/1',
data: datastring,
dataType: "html"
}).done(function(data,status,xhr) {
quote_request_id = xhr.getResponseHeader('X-QuoteRequest-Id');
});
然後我有一個使用quote_request_id VAR其他Ajax調用,但它沒有被設置。如果我只是在上面的代碼塊後添加一個警報,它就會起作用。我意識到這是因爲ajax調用的異步行爲。只需要找出一種方法來獲取var並在代碼的其餘部分使用它。
你認爲你需要什麼,你實際需要的是兩個不同的東西。你實際需要的是重構你的代碼,以考慮從服務器獲取報價請求ID的異步性質。 – Adam