在 asp.net 核心控制器中获取 "Request Payload"
get "Request Payload" in asp.net core controller
在客户端,我做
$.ajax({
url: '/emplacements/keyexist',
type: "POST",
data: JSON.stringify(postData),
dataType: "json",
traditional: true,
contentType: "application/json; charset=utf-8",
但是操作方法中的值总是'null'
[AcceptVerbs("GET", "POST")]
public IActionResult KeyExist(
string nom, //[Bind(Prefix = nameof(EmplacementDTO.Nom))],
int id //[Bind(Prefix = nameof(EmplacementDTO.Id))]
)
{
// nom == null
// id == 0
如何解决?
首先为您的有效载荷制作一个模型,如下所示。
public class MyPayload
{
public string Nom{ get; set; }
public int Id { get; set; }
}
在你的控制器中 Action
方法
public IActionResult KeyExist([FromBody] MyPayload payload)
如果 属性 名称匹配,[FromBody]
将自动映射请求正文。
并且您的 ajax
调用还有另一个问题,即您将 Id
作为 string
发送,但 Controller
期望 int
在客户端,我做
$.ajax({
url: '/emplacements/keyexist',
type: "POST",
data: JSON.stringify(postData),
dataType: "json",
traditional: true,
contentType: "application/json; charset=utf-8",
但是操作方法中的值总是'null'
[AcceptVerbs("GET", "POST")]
public IActionResult KeyExist(
string nom, //[Bind(Prefix = nameof(EmplacementDTO.Nom))],
int id //[Bind(Prefix = nameof(EmplacementDTO.Id))]
)
{
// nom == null
// id == 0
首先为您的有效载荷制作一个模型,如下所示。
public class MyPayload
{
public string Nom{ get; set; }
public int Id { get; set; }
}
在你的控制器中 Action
方法
public IActionResult KeyExist([FromBody] MyPayload payload)
如果 属性 名称匹配,[FromBody]
将自动映射请求正文。
并且您的 ajax
调用还有另一个问题,即您将 Id
作为 string
发送,但 Controller
期望 int