我有一些javascript代码进行ajax调用,get是一个var然后尝试在脚本中使用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并在其余代码中使用它。
答案 0 :(得分:0)
然后您不需要AJAX
,您需要SJAX
这是同步通信。将async: false
添加到您的ajax对象。 但是,我建议你从success
方法或第一个done
方法启动后续的ajax调用,这样你就可以拥有变量了。