YII:CJUIDIALOGとCJSONの対応 -- php フィールド と ajax フィールド と yii フィールド 関連 問題

Yii : CJuiDIalog and CJSON response












0
vote

問題

日本語

モーダルウィンドウで登録フォームを作成したいです。すべてがうまくいきますが、。 JSONの応答は処理されていません、Firebug&GT。 [08:26:54.678]アキュールされていない例外:構文エラー、認識されない式:{"status": "Success"} w / oモーダルウィンドウすべてがうまく機能します。応答はコミングと処理です。 助けや提案は大歓迎です。

コントローラ:

<事前> <コード> 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); }

VIEW

<事前> <コード> <?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 '); ?>
英語

I want to create registration form in modal window. All works fine, but. JSON response is not processed, firebug > [08:26:54.678] uncaught exception: Syntax error, unrecognized expression: {"status":"success"} W/o modal window all works fine. Response is comming and processing. Any help and suggestions are welcome.

Controller:

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);     } 

View

  <?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 '); ?> 
</div
        
   
   

回答リスト

0
 
vote
の代わりに

<事前> <コード> 'success'=>"function(data) { if(data.status == 'success') { $('#mydialog').load('/whowithme/signup/finalstep'); } }"

試してみる -

<事前> <コード> 'success'=> "function(response) { var data = $.parseJSON(response); if(data.status == 'success') { $('#mydialog').load('/whowithme/signup/finalstep'); } }"

 

instead of --

   'success'=>"function(data)         {       if(data.status == 'success')       {          $('#mydialog').load('/whowithme/signup/finalstep');        }    }" 

try --

'success'=> "function(response)         {       var data = $.parseJSON(response);        if(data.status == 'success')       {          $('#mydialog').load('/whowithme/signup/finalstep');        }    }" 
</div
 
 

関連する質問

1  YIIモデル規則:Itemaliasで指定された値のみ  ( Yii model rules only allow values specified in itemalias ) 
長時間の手続きプログラマとして、私はついにYIIと組み合わせてOOP / MVCにスイッチを作りました。私はまったく後悔していませんが、私は明らかなかもしれない質問があります。 GIIによって生成されたマイモデルでは、値を置き換えるルールとエイリアスを定義し...

4  YIIフレームワークでTCPDFで複数回以上のアクション負荷  ( Action load more than once by tcpdf in yii framework ) 
YIIフレームワークでTCPDFを使用しています。(ただ)ファイルをエクスポートするために私のビューで新しいTCPDFを作成したとき、これは私の行動負荷を2または3回起こしました(私は私の行動でカウンターでチェックしました)そして最後にそれはうまくいって私の...

12  YIIコンポーネント:イベントと行動?  ( Yii components events and behaviors ) 
私は現在YIIフレームワークを学んでいて、彼らの文書を読んでいます。 しかし、私はまだコンポーネントを理解していません。これは何。彼らはコンポーネントイベントと行動について話します。 誰かが私のためにこれらの用語を説明し、私に要素がどのようなアプリの例を与えて...

0  yiiボタンDBエントリを作成します  ( Yii button to create db entry ) 
シングルクリックで私のDBのテーブルの入力に使用できるボタンを作成します。 私がこれを起こすためにここで何をする必要があるかわからない。ボタンで実行する方法を割り当てることができますか?または私のコントローラで値を拾っただけですか?以下は、私が実行したいもの...

0  yiiレイアウトの目に見える変更なし  ( Yii layout no visible changes ) 
私のブラウザで強制的に更新し、レイアウトの名前を main.php から main_.php に変更しても何も起こらなかった。目に見える効果なし、エラーなし、なし、なし。 ここで小さい詳細を見逃していると確信しています。誰もがこの問題で初心者を導くことができま...

2  YIIフレームワーク+ Infinite Scroll + Masonryコールバックが機能しない  ( Yii framework infinite scroll masonry callback not working ) 
私はInfinitySrollとMasonryがうまくいっていることを知っています。しかし、私はYII(yiinfinite-scrollと呼ばれる)の無限のスクロール拡張を使用していて、それに石積みを適用しようとしました。無限のスクロール自体が完璧に動作して...

0  YIIの変数とバインドトークンの間の不一致を見つけます  ( Find mismatch between variables and bound tokens in yii ) 
準備文を使用してデータを挿入しています。 'Invalid parameter number: number of bound variables does not match number of tokens.' が準備済みのステートメントをダンプしようと...

0  YIIのURLルーティング/コントローラを処理する最適方法  ( Optimal way to handle url routing controllers in yii ) 
私は安らかなYII Webサービスを開発しようとしています。プロジェクトの最上位レベルで、データベーススキーマ+ GIIXを使用して作成されたモデルがあります。 Webサービスに住むWebサービス(WS)モジュールがあります。モデルは非常に簡単です: P...

0  YII2で1つの結合クエリだけでマルチActiveRecordモデルを入手する方法  ( How to get multi activerecord model with only 1 join query in yii2 ) 
例えば: query <事前> <コード> SELECT book.*,author.* FROM book INNER JOIN author ON author.id = book.author_id WHERE book.id=1 ...

1  YIIとjQueryおよびJavaScriptの包含...混乱しています  ( Yii and jquery and javascript inclusion confused ) 
http://www.yiframework.com/forum/index.php/topic/37313-confused-about-jquery-and-script-inclusion-handling / しかし、人々がここで急速に答えることがあ...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有