[英]how can i pass my webform value in webapi controller as a model class using jquery ajax
这是我的ajax代码,在我的api中传递两个值
function submitData() {
var username = $("#username").val();
var password = $("#password").val();
$.ajax({
type: 'POST',
contentType: 'application/json; charset=utf-8',
url: 'http://localhost:53893/api/login/checkLogin',
data: JSON.stringify([username, password]),
dataType: 'json',
async: false,
success: function (data) {
console.log(data);
},
error: function (err) {
console.log(err);
}
});
}
这是我想在我的api控制器中传递的模型类
public class Login
{
public ObjectId _id { get; set; }
public string username { get; set; }
public string password { get; set; }
}
这是我的API控制器方法,接受这两个参数
[HttpPost]
public string checkLogin(Login login)
{
getLogin log = new getLogin();
Boolean check = log.checkLogin(login);
if(check == true)
{
return "login done";
}
else
{
return "failed to login";
}
}
现在我想要的是在我的api控制器中接受此模型类,我尝试了很多,但始终为null
js代码:
data: JSON.stringify({'username': username,'password': password})
API代码:
[HttpPost]
public string checkLogin([FromBody] Login login)
{
getLogin log = new getLogin();
Boolean check = log.checkLogin(login);
if(check == true)
{
return "login done";
}
else
{
return "failed to login";
}
}
通过ajax传递的数据应具有必须接受的相同数据结构。
尝试建立类似的对象
JSON.stringify({'_id': id, 'username': username, 'password': password}),
要么
将它们分别作为两个字符串传递,然后在控制器中将它们分配给对象。
[HttpPost]
public string checkLogin(string username, string password)
{
Login login = new Login();
login.username = username;
login.password = password;
getLogin log = new getLogin();
Boolean check = log.checkLogin(login);
if(check == true)
{
return "login done";
}
else
{
return "failed to login";
}
}
然后在ajax pass
data: "{'username': '" + username + "', 'password': '" + password + "'}"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.