我有一个带有“登录”和“密码”输入以及“登录按钮”提交的基本登录页面。由于我找不到的原因,单击 login_button 时我无法触发 ajax 请求。
我使用 jquery 想出了以下(简单)代码:
$(document).ready(function(){
// Perform login
function log_in(login,password){
alert("log_in"); // this is never triggered
$.ajax({
url : '/api/login',
type : 'GET',
dataType : 'json',
data: 'login=' + login + '&password=' + password,
success : function(data, status, jqXHR){
alert("success");
alert(JSON.stringify(data));
alert(JSON.stringify(status));
alert(JSON.stringify(jqXHR));
},
error : function(jqXHR, status, err){
alert("error");
alert(JSON.stringify(jqXHR));
alert(JSON.stringify(status));
alert(JSON.stringify(err));
},
complete : function(jqXHR, status){
alert("complete");
alert(JSON.stringify(jqXHR));
alert(JSON.stringify(status));
}
});
}
// Add event on login button
$('#login_button').click(function(){
alert("click"); // this is triggered
login = $('#email').val();
password = $('#password').val();
log_in(login, password);
});
});
知道我缺少什么吗?
编辑
该表格是一个简单的引导表格:
<form class="form-signin">
<h2 class="form-signin-heading">Please sign in</h2>
<input id='email' type="text" class="input-block-level" placeholder="Email address">
<input id='password' type="password" class="input-block-level" placeholder="Password">
<label class="checkbox">
<input type="checkbox" value="remember-me"> Remember me
</label>
<button id='login_button' class="btn btn-large btn-primary" type="submit">Signin</button>
</form>
编辑 2
添加'return false;' 实际上解决了这个问题:
// Add event on login button
$('#login_button').click(function(){
alert("click"); // this is triggered
login = $('#email').val();
password = $('#password').val();
log_in(login, password);
return false;
});