ASP.NET MVC后端控制器用模型 接收前端ajax数据为空

1、前端js代码

如下:

javascript 复制代码
const formData = {
    DeptName: 'D001',
    Phone: '12345678900'
};

$.ajax({
    url: "/Phone/SavePhone1",
    type: "POST",
    contentType: "application/json",
    data: JSON.stringify(formData), //必须要JSON.stringify
    success: function (result) {
        if (result > 0) {
            alert("保存成功!")
        }
        else {
            alert("保存失败!")
        }
    },
    error: function (xhr, status, error) {
        alert("操作失败:" + error);
    }
});

2、问题描述

直接使用DeptPhone模型接收,接收不到数据,使用FromBody也不行:

3、解决方案

改用Request.InputStream来获取数据,然后使用JsonConvert来转换成实体,代码如下:

cs 复制代码
public int SavePhone()
{
    // 用模型接收不了ajax传过来的json数据,使用Request.InputStream获取
    var phone = Newtonsoft.Json.JsonConvert.DeserializeObject<DeptPhone>(new StreamReader(Request.InputStream).ReadToEnd());
    int result = _deptPhone.SavePhone(phone);
    return result;
}
相关推荐
Lost of 程序猿6 小时前
M2 实战:询价与采购订单聚合落地——跨聚合一致性、领域事件与 Outbox
开发语言·c#·asp.net·.net
Lost of 程序猿1 天前
船岸数据同步链路实战:SendFlag、单调版本号与断网三天后的续传
后端·c#·asp.net
周杰伦fans5 天前
ASP.NET Core Identity 从入门到实战:常见问题与解决方案
后端·asp.net
Lost of 程序猿7 天前
ASP.NET Core API 版本管理与契约演进:船岸版本碎片化下的兼容性工程
后端·asp.net
啊阿狸不会拉杆11 天前
《计算机网络-自顶向下方法》2.5 P2P 文件分发 读书笔记
计算机网络·wireshark·asp.net·p2p
Lost of 程序猿14 天前
ASP.NET Core Saga 分布式事务深度实战:备件采购跨服务长流程,如何保证“要么全成,要么全回“
分布式·后端·asp.net
Lost of 程序猿15 天前
ASP.NET Core API 幂等性设计深度实战:从一次重复申领事故说起
后端·asp.net
Lost of 程序猿15 天前
ASP.NET Core 多租户架构深度实战:一套系统,管理一支船队
后端·架构·asp.net
Lost of 程序猿16 天前
Hangfire 任务调度深度实战:从即时任务到卫星断点续传
asp.net
A_nanda17 天前
拆解ASP.NET Core 底层源码!从零手写
后端·asp.net