.net core ajax提交Controller接收不到的问题处理方法
由于需要把以前的asp.net mvc项目转化成现在的.net core MVC,以前在asp.net mvc里通过Ajax post提交,直接可以使用Request.Form接收,但是在.net core里这样是行不通的,必须是强类型。把此问题记录下来以备用。
前台, Ajax提交
$.ajax({
type: "POST",
url: '/home/addask',
data: JSON.stringify(gdata),
contentType: "application/json",
async: true,
dataType: "json",
success: function (res) {
if (res.code == 400) {
alert("提问失败,请重试或联系技术人员.");
} else {
resetasktj();
}
},
error: function (err) {
console.log(err);
}
});
后台接收处理:
public JsonResult AddAsk([FromBody]AskModel model)
{
}
public class AskModel {
/// <summary>
/// 询问标题
/// </summary>
public string Title
{
set { _title = value; }
get { return _title; }
}
/// <summary>
/// 询问内容
/// </summary>
public string Content
{
set { _content = value; }
get { return _content; }
}
/// <summary>
/// 用户名
/// </summary>
public string UserName
{
set { _username = value; }
get { return _username; }
}
}
[FromBody] 属性
将 [FromBody] 特性应用于一个参数,以便从一个 HTTP 请求的正文填充其属性。 ASP.NET Core 运行时将读取正文的责任委托给输入格式化程序。

浙公网安备 33010602011771号