-1

我在控制器中有两种方法:PageLoad. Page返回viewLoad返回JsonResultjquery-functions我对调用方法的位置也有看法。

它们按顺序执行,但我想异步调用它们。我怎么做?

function **LoadPage**(page, isnext) {
    $(':focus').blur();
    $('#loadingBlockElement').show();

    $.ajax({
        type: "GET",
        url:  '@Html.Raw(Url.Action("page", new { formId = Model.Params.FormId, userId = Model.Params.UserId, baseVersion = Model.Params.BaseVersion, stateName = Model.Params.StateName, stateVersion = Model.Params.StateVersion, stateFormId = Model.Params.StateFormId, baseFormId = Model.Params.BaseFormId }))'+'&page='+page+'&isnext='+isnext,         

        success: function (result) {     
            $('body').find('.ui-dialog').find('div').remove();        
            $('body').find('.ui-dialog').remove();      
            WE = null;
            $('#main').html(result);
            $('form').hide();
        }
    });
}

function **Load**() {        
    $.ajax({
        type: "POST",
        url: "@Url.Action("load")"+'?userId=@Model.Params.UserId'+'&formId=@Model.Params.FormId'+'&baseVersion=@Model.Params.BaseVersion'+'&stateFormId=@Model.Params.StateFormId'+'&baseFormId=@Model.Params.BaseFormId'+'&stateName=@Model.Params.StateName'+'&stateVersion=@Model.Params.StateVersion'+'&page='+$('form:first').attr('ID'),
        success: function (result) {..bla-bla-bla

控制器

加载:

public JsonResult Load(int formId, int baseVersion, string stateName, int stateVersion, string page, string userId, int stateFormId, int baseFormId)
{
     ...
}

页:

public ActionResult Page(int formId, int baseVersion, string stateName, int stateVersion, string page, string userId, bool? isNext, int stateFormId, int baseFormId)
{
    ...
}
4

1 回答 1

1

如文档所示,将两个调用的ajax属性设置为true,然后调用每个函数:$.ajax

$(document).ready(function() {
    LoadPage(page);
    Load();
});

function LoadPage(page) {
   $.ajax({
       type: "GET",
       async: true, // this is what you're missing
       url: "yoururl",
       success: function (result) {
           // handle success
       }
   });
}

function Load() {        
    $.ajax({
        type: "POST",
        async: true, // this is what you're missing
        url: "yoururl",
        success: function (result) {
            // handle success
        }
    });
}
于 2012-11-12T15:07:02.253 回答