1、前端js代码
如下:
const formData = {DeptName: 'D001',Phone: '12345678900'
};$.ajax({url: "/Phone/SavePhone1",type: "POST",contentType: "application/json",data: JSON.stringify(formData), //必须要JSON.stringifysuccess: function (result) {if (result > 0) {alert("保存成功!")}else {alert("保存失败!")}},error: function (xhr, status, error) {alert("操作失败:" + error);}
});
2、问题描述
直接使用DeptPhone模型接收,接收不到数据,使用[FromBody]也不行:
3、解决方案
改用Request.InputStream来获取数据,然后使用JsonConvert来转换成实体,代码如下:
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;
}