ASP.NET MVC:如何在一个批处理中调用操作?

时间:2013-04-16 02:35:56

标签: asp.net-mvc

在ASP.NET MVC中,默认情况下,我们调用在单独的HTTP AJAX请求中返回JsonResult的操作。

是否有一种简单的方法可以在一个HTTP AJAX请求中调用操作而无需更改太多现有代码?假设这些操作都返回JsonResult。

1 个答案:

答案 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

参考文献:

  1. SO - How can I make batches of ajax requests in jQuery?
  2. SO - jQuery.when understanding