我面临着一个问题与 AJAX 请求在剃刀页。下面提到了我 AJAX post请求,它在我的页面模式中命中了OnPostabc方法。
type: "POST",
url: path + '?handler=abc',
contentType: 'application/x-www-form-urlencoded',
data: { a: b, c: d,
headers:
{
"RequestVerificationToken": $('input:hidden[name="__RequestVerificationToken"]').val()
},
success: function(data, textStatus) {
console.log("DOne");
}
});
所以在我的OnPostabc方法中,我使用return RedirectToPage()重定向页面;我将在我的页面模式中调用onget方法。
public virtual async Task<ActionResult> OnPostSaveLoanSetupAsync([FromRoute] Guid p, [FromRoute] Guid q, string a, string c)
{
return RedirectToPage();
}
所以,在我的onget返回页()中,
public override async Task<ActionResult> OnGetAsync([FromRoute] Guid p, [FromRoute] Guid q)
{
return Page();}
问题是.页面 AJAX 请求后没有刷新,并且没有用处理程序更新url
1条答案
按热度按时间ig9co6j11#
你不能 AJAX 中直接重定向,正如
Mike Brind
所解释的,Ajax会将目标页面的html代码返回到前端,而不是像mvc和razor page那样直接重定向到目标。你需要重定向成功的方法。如果你只是重定向到目标页面而没有任何参数,你可以在后端使用return RedirectToPage("xxx");
在你的前面。
但是如果你想用一些参数重定向,你可以在后端使用
return Content("/Index?property1='AAA'&property2='BBB'");
在你的前面。