您好我有一个简单的小页面,提交一些值并从Web Api读取httpresponsemessage。这是我的HTML代码:
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Data Client</title>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"> </script>
<script>
$(document).ready(function () {
$("#post").click(function () {
// alert(document.forms["form1"]["user"]);
$.ajax({
type: "Post",
url: 'http://localhost:1505/api/user/Login',
data: $("#form1").serialize(),
// datatype: "null",
}).always(function (data, textStatus, jqXHR) { alert(jqXHR.serialize())});
});
});
</script>
</head>
<body>
<form id="form1">
<p>
User: <input type="text" name="user" />
</p>
<p>
Password: <input type="password" name="password" />
</p>
<p>
<input type="button" id="post" value="Login" />
</p>
</form>
</body>
</html>
这是我的Web Api中相应的Action Method。
public HttpResponseMessage Login(User user)
{
if (ModelState.IsValid)
{
var found = (from p in db.Users
where (p.user == user.user && p.password == user.password)
select p).FirstOrDefault();
if (found == null)
{
return Request.CreateResponse(HttpStatusCode.NotFound);
}
HttpResponseMessage response2 = Request.CreateResponse(HttpStatusCode.Found);
Token token = new Token();
string resptok = token.Generate(user);
response2.Headers.Add("Authorization_Token", resptok);
return response2;
}
else
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
}
我无法弄清楚为什么它总是警告“错误”。我在api中使用JSON序列化。感谢您提前关注
答案 0 :(得分:1)
您正在序列化jqXHR对象,您应序列化data
以获取响应数据。