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;
}
相关推荐
她说彩礼65万11 小时前
ASP.NET Core 应用程序启动机制 宿主概念
后端·asp.net
熊思宇1 天前
ASP.NET Core Web API 发布到 IIS 服务器
服务器·microsoft·asp.net
*长铗归来*2 天前
ASP.NET Core Web API 中控制器操作的返回类型及Swagger
后端·c#·asp.net·.netcore
靓仔建2 天前
Asp.net core用Swashbuckle.AspNetCore库出现错误信息:No operations defined in spec!
后端·asp.net·swagger
敲敲敲-敲代码9 天前
web系统(asp.net和C#)
前端·c#·asp.net
老葱头蒸鸡9 天前
(28)ASP.NET Core8.0 SOLID原则
后端·asp.net
王家视频教程图书馆9 天前
C# asp.net模板代码简单API请求
开发语言·c#·asp.net
SEO-狼术11 天前
Telerik UI for ASP.NET MVC 2025 Q3
ui·asp.net·mvc
速易达网络11 天前
.NET MVC中实现后台商品列表功能
asp.net·mvc
老葱头蒸鸡13 天前
(23)ASP.NET Core2.2 EF关系数据库建模
后端·asp.net