调用ajax到另一个ajax

时间:2018-09-18 17:46:32

标签: jquery ajax integration

我有两个要互相调用的ajax

如果我的第一个ajax是:

 xhrAddressPoll = $.ajax({
    url: api,
    data: {
        address: address,
        longpoll: longpoll
    },
    dataType: 'json',
    cache: 'false',
    success: function(data){

        updateText('yourHashes', (data.stats.hashes || 0).toString());
        updateText('yourPaid', (data.stats.paid));

    },
    });

如果我的第二个ajax是:

  $.ajax({
      url: CoinPriceAPI,
      dataType: 'json',
      cache: 'false'
  }).done(function(data1) {
      coinPrice = data;
  updateText('coinPriceBTC', coinPrice.price );
  });

我的两个ajax如何相互调用?

我想要这样的输出示例:

updateText('yourPaidBTC', (data.stats.paid * coinPrice.price));

如果我这样做:

 xhrAddressPoll = $.ajax({
    url: api,
    data: {
        address: address,
        longpoll: longpoll
    },
    dataType: 'json',
    cache: 'false',
    success: function(data){

        updateText('yourHashes', (data.stats.hashes || 0).toString());
        updateText('yourPaid', (data.stats.paid));
        updateText('yourPaidBTC', (data.stats.paid * coinPrice.price));

    },
    });

我的错误:

  

未定义硬币价格

谢谢您的帮助!

1 个答案:

答案 0 :(得分:0)

如果我正确理解了您的问题,那么您想做这样的事情:

function ajax1() {

    $.ajax({
        ...
        success: function(ajax1Data) {
            ajax2(ajax1Data);
        }
    });
}

function ajax2(ajax1Data) {
    // call your second ajax here
}

对于“未定义硬币价格”错误,听起来好像您处于严格模式下(很好!),但是您没有可以在函数之间共享的全局coinPrice变量。