我试图向URL发送ajax请求,期望获得json响应,但是,请求似乎没有发送到/ login . 相反,它保留在当前URL上并向其添加formData参数 . 它也没有感知“POST” . 怎么了:
$(document).ready(function() {
$("#login").click(function() {
var formData = {username: username, password: password}
$.ajax({
type: "POST",
url: "/login",
dataType: 'json',
data: formData,
success: function (data) {
var json_x = data;
alert(json_x['data']);
}
});
});
});
HTML:
<form>
<input type="text" name="username">Username</input>
<input type="password" name="password">Password</input>
<button type="button" id="login">Login</button>
</form>
4 回答
尝试:
UPDATE3:查看formData的新声明 .
使用此代码
alert(json_x.data);
代替
alert(json_x['data']);
也改变了这一行
var formData = {username: username, password: password}
成
var formData = $(this).parent().serialize();
正确的答案是使用$(“button”)而不是$(“#login”) .
我已经解决了 .