1

Extjs4 と yii フレームワークで作業しており、MVC 構造を使用しています。extjs4 から yii フレームワークにデータを送信します。post メソッドを使用してサーバー側にデータを送信していますが、yii フレームワークでデータを表示することにまだ成功していません。get() メソッドを使用している場合、データは yii フレームワーク側に簡単にアクセスできます。実際には、url にデータを表示したくないので、extjs4 で post() メソッドを使用しています。

ここに私のいくつかのコードがあります:

  1. モデルファイル:

    Ext.define('Bal.model.sn.UserModel', {
        extend: 'Ext.data.Model',
        //idproperty:'userId',//fields property first position pk. 
        fields: ['userId', 'firstName', 'middleName', 'lastName', 'languageId', 'primaryEmail', 'birthDate', 'password', 'securityQuestionId', 'securityQuestionAnswer', 'isMale', 'creationTime', 'ipAddress', 'confirmationCode', 'userStatusId', ]
    });
    
  2. 保存ファイル:

    Ext.define('Bal.store.sn.UserStore', {
        extend: 'Ext.data.Store',
        model: 'Bal.model.sn.UserModel',
        //autoLoad: true,
    
        proxy: {
            type: 'ajax',
            api: {
                read: 'http://localhost/balaee/Balaee/index.php/SocialNetworking/user/AuthenticateLogin',
                create: 'http://localhost/balaee/Balaee/index.php/SocialNetworking/user/AuthenticateLogin',
                //update: ,
                //destroy: ,
            }, //End of api
            extraParams: {
                hello: 'Inside store',
            },
            actionMethods: {
                create: 'POST',
                read: 'POST',
                update: 'POST',
                destroy: 'POST'
            },
            reader: {
                type: 'json',
                //root: ,
                //successProperty: ,
            }, //End of reader
            writer: {
                type: 'json',
                root: 'records',
            }, //End of writer
        } //End of proxy
    
    }); //End of store
    
  3. 私のコントローラーファイルのいくつかのコード:

    var obj = this.getStore('sn.UserStore');
    obj.load({
        params: {
            hello: 'jitu'
        }
    });
    
  4. そして、これが私の yii フレームワーク コントローラ ファイル コードです。

    $postData = json_decode(file_get_contents("php://input"), true);
    $clientData = $postData['records'];
    
    echo $_POST['hello'];
    

この hello パラメータを yii フレームワークで表示するにはどうすればよいですか? いくつかの提案をしてください。

4

2 に答える 2

1

こんなものを使っています。$_POST['PostDataName'] が空の場合、getPost($name) は NULL を返します

public function actionFoo()
{
   $data = Yii::app()->request->getPost('PostDataName');
}
于 2013-02-11T15:12:47.593 に答える
-1

どのようなエラーが発生していますか。400、404、500 など。また、YII アプリで CSRF を有効にしていますか。そうでない場合は、このようなことを行う必要があります。

public function actioTest()
{
    $post = $_POST['hello'];
}

CSRF が有効になっている場合は、リクエストとともに CSRF 値も渡す必要があります。

于 2013-02-09T04:55:08.817 に答える