c# - 在 asp.net 核心控制器中获取“请求有效负载”
问题描述
在客户端,我做
$.ajax({
url: '/emplacements/keyexist',
type: "POST",
data: JSON.stringify(postData),
dataType: "json",
traditional: true,
contentType: "application/json; charset=utf-8",
但是操作方法中的值始终为“空”
[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
asstring
但Controller
期望int
推荐阅读
- java - 为什么 0042 听起来 34 到 int?
- node.js - 安装节点蓝牙包时出错?
- sql-server - 提取字符串中第二次出现的字符的权利
- python - Pandas - 在带有 numpy 数组的 MultiIndexed DataFrame 上执行 mean()
- python - 错误的维度数:预期 1,得到 2
- layout - R Shiny Dashboard Header 下拉按钮导致滚动
- spring-boot - Gradle 多模块项目 java.lang.NoClassDeffFoundError
- dependencies - 如何在不覆盖依赖项的情况下安装 Chocolatey 包?
- javascript - 基于 NativeScript Vue Auth 的导航
- reactjs - 将 url 参数传递给 react-router 的 Link 组件的正确方法是什么?