我有一些使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