【发布时间】:2019-04-03 02:34:37
【问题描述】:
我似乎无法让它与最新的 .NET Core 2.2 Razor 一起使用。 我对 URL 进行了硬编码,只是为了确保它是正确的。 ajax 脚本在局部视图中,但我确实测试了将脚本移动到主页面,并得到相同的 404 结果。
$.ajax({
type: 'POST',
url: 'https://localhost:44349/Admin/Catalog/Products/Edit?handler=Filter&id=1',
success: function (data) {
alert("success");
},
error: function (xhr, textStatus, error) {
alert(xhr.statusText);
}
});
这是我的处理程序:
public IActionResult OnPostFilter(int id)
{
return new JsonResult("test");
}
我在 Startup 中禁用了 AntiForgery Token 只是为了确保这不会导致我的问题:
services.AddMvc().AddRazorPagesOptions(o =>
{
o.Conventions.ConfigureFilter(new IgnoreAntiforgeryTokenAttribute());
});
【问题讨论】:
-
Admin/Catalog/Products/Edit代表什么?与我们分享您的完整剃须刀页面和项目结构。 -
这是一个页面:Areas > Admin > Pages > Catalog > Products > Edit.cshtml ...我可以转到页面 /Admin/Catalog/Products/Edit/8 并且它是 GET有效,但是当我尝试使用处理程序进行 AJAX POST 时,我无法让它工作。我有另一个项目,它是 .NET Core Razor 的早期版本,它可以工作。我相信 2.2 中的某些内容发生了变化,这导致了我的问题。
标签: asp.net-core razor asp.net-core-mvc