使用JQuery Ajax向.NET控制器POST对象失败的问题排查
问题解决:jQuery Ajax POST对象到.NET控制器反序列化失败
问题根源
你遇到的报错是因为Ajax配置里的dataSrc: 'data'参数在搞鬼——这个是jQuery DataTables的专属配置项,用来指定返回数据的嵌套路径,普通Ajax请求里加它会干扰数据处理逻辑,把你原本的单个对象错误包装成数组格式,导致后端无法将数组反序列化为SearchParameters实体类。
修复方案
直接移除Ajax配置中的dataSrc: 'data',修改后的配置如下:
{ contentType: 'application/json', data: JSON.stringify(searchParameters), dataType: 'json', processData: false, method: "POST", url: "/api/example" }
额外验证建议
- 打开浏览器开发者工具「网络」面板,查看请求的
Request Body,确认发送的是{"name":"M"}而非数组格式 - 用Postman等工具直接向
/api/example发送POST请求,验证控制器是否能正常触发 - .NET默认支持驼峰命名映射,JS里的
name可以正确匹配C#类的Name属性,无需额外配置
内容的提问来源于stack exchange,提问作者user470249
相关产品推荐
相关产品推荐

