由於需要把以前的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 運行時將讀取正文的責任委托給輸入格式化程序。
