-1

コントローラーには と の 2 つのメソッドがPageありLoadます。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 に答える