.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 運行時將讀取正文的責任委托給輸入格式化程序

參考:https://docs.microsoft.com/zh-cn/aspnet/core/mvc/models/model-binding?view=aspnetcore-3.1#input-formatters

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM