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;
}
相关推荐
步步为营DotNet1 天前
借助 Microsoft.Extensions.AI 与 ASP.NET Core 10 实现智能 Web 应用故障预测
人工智能·microsoft·asp.net
品尚公益团队1 天前
C#在asp.net网页开发中的带cookie登录实现
前端·c#·asp.net
time展天12 天前
Dddify:给 ASP.NET Core 项目一套轻量、清晰、可落地的 DDD 基础设施
数据库·后端·asp.net
拉长的苗条2 天前
细说 ASP.NET Cache 及其高级用法
后端·asp.net
醉熏的斑马2 天前
ASP.Net MVC3 】使用Moq让单元测试变得更简单
单元测试·log4j·asp.net
轻松的小鸭子4 天前
细说ASP.NET Forms身份认证
后端·asp.net
风中的小甜瓜4 天前
ASP.NET Page 那点事
java·前端·asp.net
自由的裙子4 天前
ASP.NET路由模型解析
后端·asp.net
帅气的冬天4 天前
在ASP.NET MVC中对表进行通用的增删改
后端·asp.net·mvc
俭朴的奇异果6 天前
MongoDB实战开发 【零基础学习,附完整Asp.net示例】
学习·mongodb·asp.net