代碼如下:
var par=JSON.stringify({name:'Hello'});
$.ajax({
url: "/xxx/Edit",
type: "POST",
contentType: "application/json",
data:par,
success: function (result) {
//
},
action代碼
// xxx controller
public async Task<JsonResult> Edit(string name)
{
...
await ...
}
以上代碼在mvc5中一點(diǎn)問題都沒有懂算,但是在core或.net5項(xiàng)目中 data值永遠(yuǎn)都為null难捌。
后來查資料
https://stackoverflow.com/questions/59627571/asp-net-core-jquery-ajax-post-always-null
只需要改前端代碼即可蹬跃。如下
var par={name:'Hello'};//注意這里有變化朗兵,不需要JSON.stringify
$.ajax({
url: "xxx/Edit",
type: "POST",
//contentType: "application/json",
data: par,
success: function (result) {
//
},
error: function (jqXHR) {
//
}
});
也就是刪除contentType的代碼翅帜,data賦值不需要JSON.stringify轉(zhuǎn)換贝搁,問題解決了滨溉。栗竖。猫胁。驾胆。
這tm太坑了