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 天前
【C#】ASP.NET Web 车辆信息管理系统(源码+文档)【独一无二】
前端·c#·asp.net
丙氨酸長鏈3 天前
WPF 引用 ASP.NET Core 的 AOT 版本
后端·asp.net·wpf
她说彩礼65万7 天前
ASP.NET Core 环境配置
后端·asp.net
她说彩礼65万11 天前
Asp.net core ViewData的使用
后端·asp.net
o52788318413 天前
校园一体化管理系统2.1、基于整洁四层架构 + DDD+CQRS 项目目录解读
后端·架构·c#·asp.net·visual studio
不羁的木木15 天前
HarmonyOS技术精讲-Connectivity Kit:Wi-Fi进阶能力——热点、P2P与Aware
asp.net·harmonyos·p2p
时代的狂18 天前
ASP.NET Core 认证与授权(二):登录与令牌签发
后端·asp.net·.net core·web api·认证与授权
她说彩礼65万19 天前
Asp.net core 模型绑定
后端·asp.net
时代的狂19 天前
如何理解 ASP.NET Core 请求生命周期
asp.net·请求生命周期
时代的狂19 天前
ASP.NET Core 认证与授权(三):请求认证与权限校验
asp.net·.net core·web api·认证与授权