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;
}
相关推荐
剑锋所指,所向披靡!3 天前
计算机网络之应用层(HTTP)
计算机网络·http·asp.net
无风听海4 天前
深入理解 ASP.NET Core Authentication Scheme 体系
运维·云计算·asp.net
勿芮介4 天前
【开发技术】Asp.NetCore的管道和中间件
后端·asp.net
步步为营DotNet4 天前
深入.NET 11:ASP.NET Core 10 在构建高可用分布式系统的关键技术与实践
asp.net·.net·wpf
无风听海5 天前
ASP.NET Core Session 机制深度解析
后端·asp.net
无风听海8 天前
深入理解 ASP.NET Core 中的 UseRouting 与 UseEndpoints
后端·asp.net
无风听海8 天前
ASP.NET Core Minimal API 深度解析
后端·asp.net
步步为营DotNet9 天前
解锁.NET 11 新境:ASP.NET Core 10 在微服务安全通信的深化与实践
微服务·asp.net·.net
无风听海10 天前
深入理解 ASP.NET Core 中的 IActionResult
后端·asp.net
无风听海10 天前
ASP.NET Core Results<T1, T2>深度解析
后端·asp.net