Я не могу заставить это работать с последней версией .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");
}
Я отключил токен AntiForgery в автозагрузке, чтобы убедиться, что это не вызывает мою проблему:
services.AddMvc().AddRazorPagesOptions(o =>
{
o.Conventions.ConfigureFilter(new IgnoreAntiforgeryTokenAttribute());
});