我有一个 .NET 6 MVC 应用程序,我正在尝试使用 FromBody 属性在 HTTP-POST 请求上绑定操作参数。
但是,它不绑定它的值并且始终为空。 这是我的代码。
控制器:
[HttpPost]
[Consumes("application/json")]
public string RegisterUser([FromBody] string FirstName, [FromBody] string LastName)
{
return($"{FirstName} {LastName}")
}
Ajax 请求:
var data = {
FirstName: "Krunal",
LastName: "Zala"
}
$.ajax({
type: "POST",
url: "Login/RegisterUser",
contentType: "application/json",
data: JSON.stringify(data),
dataType: "JSON",
success: function (result) {
console.log(result.d);
},
error: function (result) {
console.log(result);
}
});
Action 只能有一个 [FromBody] 属性。所以你必须创建一个模型来获取数据
public class Person
{
public string FirstName {get; set;}
public string LastName {get; set;}
}
在此之后你的行动应该是
public string RegisterUser([FromBody] Person person)
{
return ($"{person.FirstName} {person.LastName}");
}
ajax
.....
success: function (result) {
console.log(result);
},
....