我试图使用jQuery.when两个ajax请求,然后在两个请求完成后调用一些函数.这是我的代码:
var count = 0;
var dfr;
var showData = function(data) {
dfr.resolve();
alert(count);
// Do something with my data data received
};
var method1 = function() {
dfr = $.Deferred();
return $.ajax('localhost/MyDataService/DataMethod_ReturnsData', {
dataType: "jsonp",
jsonp: "$callback",
success: showData
});
};
var method2 = function() {
return $.ajax('localhost/MyDataService/DataMethod_ReturnsCount', {
dataType: "jsonp",
jsonp: "$callback",
success: function(data) {
count = data.d.__count;
}
});
};
$.when(method1(), method2())
.then(showData());
Run Code Online (Sandbox Code Playgroud)
但是这没有按预期工作.Ajax调用method1将返回要使用的数据,showData()并且Ajax调用method2将返回计数,该计数将分配给var count并稍后用于showData(). …