我试图适应 ajax 的工作原理,所以我只是尝试将字符串发送到 C# 方法(我之前也尝试过 Json 和其他类型),但无论我更改什么,该方法似乎总是收到 null /没有收到任何价值。
function select(jobId){
console.log(jobId);
$.ajax({
url: '@Url.Action("SelectJob", "Home")',
type: 'post',
dataType: 'json',
contentType: 'application/json',
data: JSON.stringify({ 'userId': jobId }),
success: function () {
console.log("yes");
},
error: function () {
console.log("no");
}
});
}
这是我目前想出的ajax调用。 而调用的 C# 方法是这样定义的:
[HttpPost]
public ActionResult SelectJob([FromBody] string jsonData)
{
return Json(new { success = true, message = jsonData });
}
但是 jsonData 的内容始终为空。
我尝试将发送的数据类型、预期及其来源修改为 FromBody、FromForm 和 none。我也尝试了不同的网址,但这不是问题,因为该方法被正确调用。
尝试修改你的ajax,例如:
$.ajax({
url: '@Url.Action("SelectJob", "Home")',
type: 'post',
data: { jsonData: jobId },
success: function () {
console.log("yes");
},
error: function () {
console.log("no");
}
});
然后删除
[FromBody]
[HttpPost]
public ActionResult SelectJob( string jsonData)
{
return Json(new { success = true, message = jsonData });
}
结果: