ajax不断被调用,对于连续的AJAX调用,替代“async:false”

您可以使用JQuery $.promise对象来实现此目的

当你return $.ajax它实际上有一些内置方法,例如

$.done()和$.when。

在您的场景中,您希望在第一个Ajax请求完成后执行Ajax函数。

因此,我们将创建两个变量来表示代码中的两个Ajax请求

就像我之前提到的,当你返回Ajax请求时,你实际上可以将它用作$.promise对象并享受它带来的优势,例如$.done()函数。

function get_results() {

$(document).ready(function() {

var master_array = [];

var MyFirstFunction = function() {

return $.ajax({

type: "GET",

url: "http//:www.source1.com",

dataType: "xml",

success: function(xml) {

$(xml).find('product').each(function() {

var Average = $(this).find('Average').text();

var Price = $(this).find('Price').text();

var Name = $(this).find('Name').text();

var Url = $(this).find('Url').text();

var Image = $(this).find('Image').text();

master_array.push([Average, Price, Name, Url, Image]);

});

}

});

};

var MySecondFunction = function(){

return $.ajax({

type: "GET",

url: "http//:www.source2.com",

dataType: "xml",

success: function(xml) {

$(xml).find('product').each(function() {

var Average = $(this).find('Average').text();

var Price = $(this).find('Price').text();

var Name = $(this).find('Name').text();

var Url = $(this).find('Url').text();

var Image = $(this).find('Image').text();

master_array.push([Average, Price, Name, Url, Image]);

});

}

});

};

//We use it after the assignment of the variables because if would have put it before them we would got undefined, you can read more about it here:[Hoisting][4].

MyFirstFunction().done(MySecondFunction);

});

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值