есть главная страничка где реализуется вход, сразу хочу заметить что без AJAX все работает хорошо.
в контроллере все стандартно:
public function actionLogin()
{
$model=new LoginForm;
//print_r($_POST);
// if it is ajax validation request
if(isset($_POST['ajax']) && $_POST['ajax']==='login-form')
{
echo CActiveForm::validate($model);
Yii::app()->end();
}
// collect user input data
if(isset($_POST['LoginForm']))
{
$model->attributes=$_POST['LoginForm'];
// validate user input and redirect to the previous page if valid
if($model->validate() && $model->login())
$this->redirect(Yii::app()->homeUrl);
}
// display the login form
$this->render('login',array('model'=>$model));
}
самый стандартный виджет находится во вьюхе главной страницы(index.php) и такой же во вьюхе екшена(login.php)
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'login-form',
'action'=>'index.php?r=post/login',
'enableAjaxValidation'=>true,
'enableClientValidation'=>true,
'clientOptions'=>array(
'validateOnSubmit'=>true,
'validateOnChange'=>false,
),
)); ?>
но вот AJAX валидация с index.php не проходит, не передается параметр ajax=login-form, а просто перекидывает на страничку login.php с сообщением что логин и пароль неправильный, но если нажать с этой странички еще раз логин, то отправится AJAX запрос.
4704
на скриншоте видно что сначала загрузилась вся страница без параметра а после нажатия логин с этой страницы, пришел AJAX ответ.
где подвох? мне нужно получать сообщение о неудачном пароле в виджете на index.php