如何使用 jquery ajax 将 web api 控制器中的 web 表单值作为模型类传递
Posted
技术标签:
【中文标题】如何使用 jquery ajax 将 web api 控制器中的 web 表单值作为模型类传递【英文标题】:how can i pass my webform value in webapi controller as a model class using jquery ajax 【发布时间】:2018-06-11 11:06:05 【问题描述】:这是我的 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 控制器中接受这个模型类,我尝试了很多,但它总是为空
【问题讨论】:
【参考方案1】: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";
【讨论】:
在我的控制器中仍然得到空值 从js创建类并字符串化对象,我想你知道怎么做 对不起,我不知道你能解释一下 嘿!不提兄弟。【参考方案2】:通过 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传递
data: "'username': '" + username + "', 'password': '" + password + "'"
【讨论】:
以上是关于如何使用 jquery ajax 将 web api 控制器中的 web 表单值作为模型类传递的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 jQuery 将 Windows 身份验证传递给 Web 服务?
如何使用 jQuery AJAX 发布到 RESTful Web 服务?
如何在 Spring Web MVC 中使用 Ajax JQuery