如何解决Asp.net控制器接收到空值
我的ASP.net控制器正在接收null而不是传递参数:( js功能:
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"
});
}
当我进行控制台记录时,数据存在。但是在控制器中,我得到-https://prnt.sc/u2mpa6 这是这里的每个领域
解决方法
首先;您是否在控制器方法的顶部添加了[HttpPost]
属性?
第二;如果以“查询字符串”格式提交:Username = xx&Password = yy&...,然后使用(HttpGet)。这样行吗?
如果您需要进行POST(并且不想使用GET),则可以使用所有当前参数创建一个对象,并使用[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
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。