我在控制器中有两种方法:Page
和Load
。Page
返回view
,但Load
返回JsonResult
。我也可以使用jquery-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)
{
...
}
将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
}
});
}