在代码继续之前需要由Ajax返回的var

时间:2016-07-04 18:14:43

标签: jquery ajax

我有一些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并在其余代码中使用它。

1 个答案:

答案 0 :(得分:0)

然后您不需要AJAX,您需要SJAX这是同步通信。将async: false添加到您的ajax对象。 但是,我建议你从success方法或第一个done方法启动后续的ajax调用,这样你就可以拥有变量了。