所以情况如下:
我正在使用 Js 助手在 CakePHP 中创建 ajax 登录表单,并将其放在我的视图中:
<?php
$data = $this->Js->get('#UserLoginForm')->serializeForm(array('isForm' => true, 'inline' => true));
$this->Js->get('#UserLoginForm')->event(
'submit',
$this->Js->request(
array ('controller' => 'users', 'action' => 'login'),
array (
'update' => '#messagediv',
'before' => '$("#loading").fadeIn()',
'complete' => '$("#loading").fadeOut()',
'data' => $data,
'async' => true,
'dataExpression'=>true,
'method' => 'POST',
)
)
);
?>
然后在下面我有我的表格,下面我有:
<?php echo $this->Form->create('User');
echo $this->Form->input('username');
echo $this->Form->input('password');
echo $this->Form->end('submit);
?>
<?php echo $this->Js->writeBuffer(); ?>
现在我不知道如何在控制器中使用适当的功能来检查登录并在成功时重定向或在不成功时显示错误..
如果登录详细信息正确,我可以检查登录和回显 1,如果不正确,则回显 0,但是每当我尝试在控制器功能中使用重定向时,它只会在 div #messagediv 中加载“整个登录页面”...
这就是我的控制器操作现在的样子:
public function login() {
if ($this->request->isAjax()) {
$this->layout = 'ajax';
if ($this->Auth->login()) {
$this->Session->setFlash('Login Successfull');
} else {
$this->Session->setFlash('Login Incorrect');
}
}
}
谁能告诉我我做错了什么?
那么登录成功后如何重定向,如果用户名或密码错误,如何将错误消息输出到#messagediv?