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;
}
相关推荐
无风听海14 小时前
.NET10之ASP.NET Core的Filter管线
java·asp.net·.net
William_cl14 小时前
ASP.NET路由长度约束精讲:[HttpGet (“{name:minlength (3)}“)] 字符长度限制吃透,附避坑指南 + 实战代码
后端·asp.net
奥特曼打小白5 天前
Microsoft SQL Server2025的下载、安装与配置——从环境、管理工具、配置管理器入手,解决VS2022ASP.NET网站项目中SqlDataSource控件找不到服务器的问题
sqlserver·asp.net
William_cl5 天前
ASP.NET路由类型约束核心精讲:[HttpGet (“{id:int}“)] 整数约束吃透,附避坑指南 + 实战代码
后端·asp.net
步步为营DotNet6 天前
深入理解ASP.NET Core Middleware:管道执行机制与高效应用
后端·asp.net
码云数智-园园7 天前
从 ASP.NET MVC 到现代 .NET:一份完整的迁移升级指南
asp.net·mvc·.net
csdn_aspnet8 天前
ASP.NET Core 中的依赖注入
后端·asp.net·di·.net core
csdn_aspnet8 天前
ASP.NET 8 - Cookie 身份验证
后端·asp.net·cookie·.net8
有来技术8 天前
ASP.NET Core 权限管理系统(RBAC)设计与实现|vue3-element-admin .NET 后端
vue.js·后端·c#·asp.net·.net
wstcl9 天前
像asp.net core webapi一样在asp.net frameworks中使用Swagger,方便调试接口
后端·asp.net·swagger·webapi