我有一个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没有显示值?我不知道影响我的代码结果的规则吗?
答案 0 :(得分:2)
$.getJSON
是异步调用。你应该做这样的事情:
$.getJSON(... ,function(info) {
$('h1').text(info.data['last_local']['value']);
});
执行$('h1').text(BTC_Value);
BTC_Value
时没有您想要的值。
当AJAX请求完成时,但不是之前。