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;
}
相关推荐
电商api接口开发8 小时前
ASP.NET MVC 入门与提高指南九
asp.net·mvc
电商api接口开发1 天前
ASP.NET MVC 入门与提高指南八
后端·asp.net·mvc
余衫马3 天前
ASP.NET Core 8.0 JWT安全实践:从认证到授权的全链路实现
后端·安全·asp.net
王维志3 天前
浅谈C# record关键字
后端·c#·asp.net
电商api接口开发3 天前
ASP.NET MVC 入门与提高指南六
c#·asp.net·mvc
caolib4 天前
7.计算机网络相关术语
服务器·计算机网络·asp.net
程序员秘密基地4 天前
基于c#,asp.net webform, sql server数据库,在线档案管理系统
开发语言·sqlserver·asp.net·.net·源代码管理
oMMh5 天前
使用C# ASP.NET创建一个可以由服务端推送信息至客户端的WEB应用(1)
前端·c#·asp.net
电商api接口开发6 天前
ASP.NET MVC 入门指南五
后端·asp.net·mvc