繁体   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