【发布时间】:2021-08-01 11:27:18
【问题描述】:
我的页面模型中有以下方法,称为 Order
public async Task<IActionResult> OnPostAddRecord(string recordId)
{
return new JsonResult("Hello");
}
我的Ajax代码调用上述方法:
$('#RecordList').change(function () {
var formData = {
recordId: $("#RecordList").val(),
};
$.ajax({
type: 'POST',
data: formData,
url: '@Url.Page("order", "addrecord")',
success: function (result) {
alert(result)
},
error: function (result) { }
});
});
然而,当它被触发时,它返回 StatusCode 400,然而,我在同一页面上还有另一个 Ajax 方法成功运行,不同之处在于一个是 GET 而这是一个 POST。
我真的看不出这里有什么问题。
【问题讨论】:
-
在 OnPostAddRecord 操作上方添加 HttpPost 属性
-
@mehmetx 我得到的警告是 HttpPostAttribute 不能应用于 Razor 页面处理程序方法,必须使用 page 指令或使用约定声明 Razor 页面的路由
-
您可以在
OnPostAddRecord上方添加[IgnoreAntiforgeryToken],或者您可以像@MikeBrind 一样添加AntiforgeryToken。
标签: c# ajax razor-pages