JQuery:多个getJSON请求,第二个不起作用

时间:2014-01-25 02:39:20

标签: javascript jquery json

我有一个Javascript / JQuery脚本,可以对不同的API发出多个getJSON请求,如下所示:

  var BTC_Value = 0;
  var LTC_Value = 0;

  var loadCoinValues = function()
  {
      $.getJSON( "http://data.mtgox.com/api/2/BTCUSD/money/ticker_fast", function( info ) {
       BTC_Value = info.data['last_local']['value'];
      });

      $.getJSON( "https://btc-e.com/api/2/ltc_usd/ticker", function( info ) {
       LTC_Value = info.ticker['avg'];
      });
     };

  loadCoinValues();

  $("h1").text(BTC_Value); //This returns the correct value.
  $("h2").text(LTC_Value); //This returns nothing.

为什么第二个getJSON没有显示值?我不知道影响我的代码结果的规则吗?

1 个答案:

答案 0 :(得分:2)

$.getJSON是异步调用。你应该做这样的事情:

$.getJSON(... ,function(info) {
  $('h1').text(info.data['last_local']['value']);
});

执行$('h1').text(BTC_Value); BTC_Value时没有您想要的值。 当AJAX请求完成时,但不是之前。