提问人:serge 提问时间:5/24/2021 更新时间:6/29/2021 访问量:6306
在核心控制器中获取“请求有效负载”asp.net
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
答:
5赞
Sabir Hossain
5/25/2021
#1
首先,为您的有效负载创建一个模型,如下所示。
public class MyPayload
{
public string Nom{ get; set; }
public int Id { get; set; }
}
在控制器方法中Action
public IActionResult KeyExist([FromBody] MyPayload payload)
[FromBody]
如果属性名称匹配,将自动映射请求正文。
并且您的电话还有另一个问题,您发送了 AS,但期望ajax
Id
string
Controller
int
评论
1赞
Rodrigo Rodrigues
5/25/2021
由于这是 json,如果他发送 or ,这将产生相同的效果。如果 OP 将绑定参数声明为 int,则在参数绑定时会解析为 int。14
"14"
0赞
Sabir Hossain
5/25/2021
@RodrigoRodrigues你是对的,但在某些情况下,绑定会失败。
上一个:远程验证命中功能两次
评论