You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过Ajax传递数据但Controller始终接收空对象求助

Ajax传值Controller接收为空的排查与解决方法

以下是几个能定位并解决问题的排查方向:

  • 严格匹配前后端属性名
    后端接收模型的属性名必须和前端JSON的键名大小写完全一致(C#区分大小写),比如前端是FlightId,后端不能写成flightId或FlightID;同时要保证模型属性是public且带有getter、setter。

  • 给Action参数添加[FromBody]特性
    由于你指定了contentType: "application/json"且用JSON.stringify序列化了数据,后端Action必须通过[FromBody]标记参数,告诉框架从请求体解析JSON:

    [HttpPost]
    public IActionResult AddTicket([FromBody] TicketBookingModel model)
    {
        // 业务逻辑处理
    }
    
  • 校验数据类型一致性
    日期类字段(如Birthday、DepartureTime)要确保前端传递的格式是后端可解析的(比如ISO标准格式2024-05-20T14:30:00),后端对应属性用DateTime或DateTimeOffset类型;数字类字段(如TransactionAmount)要确保前端传递的是数字而非字符串,避免类型绑定失败。

  • 确认请求Payload正确性
    打开浏览器F12的Network面板,找到该POST请求,查看Payload内容,确认发送的JSON结构完整、值无缺失或格式错误——有时候前端变量未正确赋值,会导致传空值。

  • 排查跨域配置(可选)
    若前后端端口不同,需确认后端已配置CORS允许前端域名访问,不过这个问题一般会直接触发请求错误,而非接收空对象,但也可作为兜底排查项。

内容的提问来源于stack exchange,提问作者Ngutahu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 14:32:11