簡體   English   中英

Asp.net controller 接收 null

[英]Asp.net controller recieving null

我的 ASP.net controller 正在接收 null 而不是傳入參數:( Js function:

function SendFormToController() {
            var username = document.getElementById("UsernameField").value;
            var email = document.getElementById("EmailField").value;
            var password = document.getElementById("PasswordField").value;

            var SendJson = {
                Username: username,
                Email: email,
                Password: password
            };
            console.log(JSON.stringify(SendJson));
            $.ajax({
                type: "POST",
                data: JSON.stringify(SendJson),
                url: "Register/Register",
                contentType: "application/json"
            });
        }

當我控制台記錄它時,數據存在。 但是在 controller 中,我得到 - https://prnt.sc/u2mpa6它適用於這里的每個字段

第一的; 您是否在 controller 方法之上添加了[HttpPost]屬性?

第二; 如果您以“querystring”格式提交:Username=xx&Password=yy&... 並使用 (HttpGet)。 那樣有用嗎?

如果您需要執行 POST(並且不想使用 GET),您可以使用所有當前 arguments 創建一個 object 並使用[FromBody]屬性:

[Route("Register")]
[HttpPost]
public ResultData Register([FromBody] RegisterRequest data) {
   //Your logic...
}

和客戶端(JavaScript)端:

let url = 'http://...';
$.post(url, { Username: name, Password: pass, What: ever  }, function (result) {
    //Do some nice stuff
})
.fail(function (error) {
    //Oh no! Show error.statusText
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM