Okei .. 我的 ajax 登录遇到了一点问题。
当我第一次提交登录表单时,它工作正常。
- 输入正确的用户名/密码 => 登录 => 工作正常。
- 如果输入错误的用户名/密码 => 错误消息显示 =>(错误的 uname/pass)
但是如果我在显示错误信息后尝试重新输入正确的用户名和密码,我就无法再次提交表单了!?!
在 Firebug 中,它给了我一个“响应”,其中包含我所在表单的整个页面。
我需要重新加载页面才能重新发布登录详细信息。
我认为这与安全组件有关,但禁用它是不可能的。
有什么建议么??
我登录的基础知识。
var data = $("#LoginAjax").serialize();
$.ajax({
type: "post",
url: "/users/ajax_login",
data: data,
dataType: "json",
success: function(data){
if (data == 0) {
alert('wrong username/pass, try again!');
//location.reload();
}
}
});
public function ajax_login() {
$this->autoRender = false;
if ($this->request->is('ajax')) {
$this->request->data['User']['password'] = $this->Auth->password($this->request->data['User']['password']);
$user = $this->User->find('first', array('conditions' => array('username' => $this->request->data['User']['email'], 'password' => $this->request->data['User']['password'])));
if($user){
echo 1;
} else {
echo 0;
}
} else {
$this->Session->setFlash('No Dice!', 'flash/alert');
$this->redirect($this->Auth->logout());
}
exit;
}