0
我想在模態窗口中創建註冊表單。一切正常,但。 未處理JSON響應,螢火蟲>[08:26:54.678]未捕獲的異常:語法錯誤,無法識別的表達式:{「status」:「success」} 無模式窗口一切正常。響應正在進行和處理。 歡迎任何幫助和建議。Yii:CJuiDIalog和CJSON響應
控制器:
public function actionSignup()
{
if(Yii::app()->request->isAjaxRequest) {
$user = new Signup(Signup::SCENARIO_SIGNUP);
if(Yii::app()->user->isGuest)
{
if(isset($_POST['ajax']) && $_POST['ajax']==='register-form')
{
echo CActiveForm::validate($user);
Yii::app()->end();
}
if(isset($_POST['Signup']))
$user->attributes = $_POST['Signup'];
if($user->save())
{
Yii::app()->user->login(new UserIdentity($user));
echo CJSON::encode(array(
'status'=>'success',
));
$this->activationKey($user);
exit;
}
$this->renderPartial('_finalFormAjax', array('model'=>$user),false,true);
}
查看
<?php $this->beginWidget('zii.widgets.jui.CJuiDialog', array(
'id'=>'mydialog',
'options'=>array(
'title'=>'Регистрация',
'autoOpen'=>true,
'modal'=>true,
'width'=>550,
'height'=>470,
'draggable'=>false,
'resizable'=>false,
), ?>
));
?>
<?php $form = $this->beginWidget('CActiveForm', array(
'id'=>'register-form',
'enableAjaxValidation'=>true,
'clientOptions'=> array('validateOnSubmit'=>true),
)); ?>
<?php echo CHtml::ajaxSubmitButton('Зарегистрироваться','',
array(
'type' => 'POST',
'dataType'=>'json',
'beforeSend' => 'function() {
$("#register-form").addClass("loading");
}',
'complete' => 'function(){
$("#register-form").removeClass("loading");
}',
'success'=>"function(data)
{
if(data.status == 'success')
{
$('#mydialog').load('/whowithme/signup/finalstep');
}}",
)
); ?>
<?php $this->endWidget(); ?>
<?php $this->endWidget('zii.widgets.jui.CJuiDialog '); ?>
如果u COMM發生什麼事ent Yii :: app() - > user-> login(new UserIdentity($ user));和$ this-> activationKey($ user);? – user677900 2012-01-15 16:29:28
您是使用iFrame模式,還是使用常規的「inline」模式? – thaddeusmt 2012-01-15 23:24:02