我想将AJAX参数传递给ASP .Net Core 2中的MVC控制器。
这是我尝试的:
function getMatchesFromChampionshipAsync(championship) {
console.log(championship);
$.ajax({
url: "/Bets/Matches",
type: "POST",
data: { "championship": championship },
dataType: 'json',
contentType: 'application/json; charset=UTF-8',
success: function (response) {
alert(response)
}
})
}
我确定参数
championship
是正确的(我也尝试记录它),但是Controller始终会收到null
。这是控制器操作方法代码:[HttpPost]
public IActionResult Matches([FromBody] string championship) {
return Json(championship);
}
浏览器还会提示
null
。我还阅读了其他有关此问题,但没有人起作用。
最佳答案
我解决了使用具有单个属性的Class的问题:
public class Value {
public String Championship { get; set; }
}
并将其用作Action方法中的Model:
[HttpPost]
public IActionResult Matches([FromBody] Value ch) {
return Json(ch.Championship);
}
我不知道有没有更简单的方法。