Razor中的Jquery Ajax Post Object响应400错误代码
Posted
技术标签:
【中文标题】Razor中的Jquery Ajax Post Object响应400错误代码【英文标题】:Jquery Ajax Post Object response 400 error code in Razor 【发布时间】:2022-01-24 06:59:17 【问题描述】:我正在尝试 Jquery Ajax Post to Razor Page 操作。我为帖子创建了自定义对象,然后我收到 400 错误代码。
这是我的类结构:
public class InsertProductPrice
public long ID get; set;
public int PKademe11 get; set;
public int PKademe12 get; set;
这是我的 Razor 页面操作:
public IActionResult OnPostSavePrice(InsertProductPrice price)
return new OkResult();
这是我的 Jquery 代码(我尝试使用 'data: JSON.stringify(price)
' 但结果相同);
var url = `/Supplier/insertProductPrices?handler=SavePrice`;
$.ajax(
type: "POST",
url: url,
dataType: 'json',
data: price,
//contentType: "application/json",
beforeSend: function (xhr)
,
success: function (response)
,
error: function (jqXHR, textStatus, errorThrown)
alert(jqXHR.responseText);
);
这是我的对象;
var price =
"ID": priceArray[index].id,
"PKademe11": Number(body.children[0].children[4].children[0].value),
"PKademe12": Number(body.children[0].children[5].children[0].value),
;
//Like this
price =
"ID": 100,
"PKademe11": 0,
"PKademe12": 0,
;
【问题讨论】:
【参考方案1】:你需要在header中添加AntiFororgoryToken:
查看:
@html.AntiForgeryToken()
js:
var url = `/Supplier/insertProductPrices?handler=SavePrice`;
$.ajax(
type: "POST",
url: url,
dataType: 'json',
data: price,
headers: "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() ,
beforeSend: function (xhr)
,
success: function (response)
,
error: function (jqXHR, textStatus, errorThrown)
alert(jqXHR.responseText);
);
【讨论】:
它第一次工作:)。非常感谢。这个问题花了我 1 天的时间。再次感谢 嗨@CevatSerin,因为这个答案对你有帮助,你能accept this answer 并可能投票感谢@YiyiYou 的努力吗?谢谢。以上是关于Razor中的Jquery Ajax Post Object响应400错误代码的主要内容,如果未能解决你的问题,请参考以下文章
通过 jquery Ajax 上传图片到 Model Data 到 Controller MVC/Razor
Asp .Net Core 2.2 Razor Pages Ajax Call Post 不工作
我无法在 C# 中使用 Jquery 和 Ajax 从控制器向 Razor 视图发送值
如何使用 jquery 或 ajax 在 c#/asp.net 中为 MVC 项目更新 razor 部分视图