在ASP.NET MVC中,默认情况下,我们调用在单独的HTTP AJAX请求中返回JsonResult的操作。
是否有一种简单的方法可以在一个HTTP AJAX请求中调用操作而无需更改太多现有代码?假设这些操作都返回JsonResult。
答案 0 :(得分:3)
您可以查看使用jQuery.when,它允许在所有请求完成后执行回调函数。
$.when($.ajax("request1"), $.ajax("request2"), $.ajax("request3"))
.done(function(data1, data2, data3){
// Do something with the data
});
或
$.when($.ajax("request1"), $.ajax("request2"), $.ajax("request3"))
.then(successCallback, errorHandler);
更多示例:
function showData(data1, data2) {
alert(data1[0].max_id);
alert(data2[0].max_id);
}
function method1() {
return $.ajax("http://search.twitter.com/search.json", {
data: {
q: 'baid_harsh'
},
dataType: 'jsonp'
});
}
function method2() {
return $.ajax("http://search.twitter.com/search.json", {
data: {
q: 'baid_harsh'
},
dataType: 'jsonp'
});
}
$.when(method1(), method2()).then(showData);
这是一个有效的jsFiddle
参考文献: