如何在php中访问帖子参数?

时间:2013-02-08 21:31:54

标签: extjs yii extjs4

我正在使用Extjs4 plus 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'];
    
  5. 如何在yii框架中显示此hello参数?请给出一些建议。

2 个答案:

答案 0 :(得分:1)

我使用这样的东西。如果$ _POST [' PostDataName']为空,则getPost($ name)返回NULL

public function actionFoo()
{
   $data = Yii::app()->request->getPost('PostDataName');
}

答案 1 :(得分:-1)

你得到了什么错误。像400,404,500等。你也在你的YII应用程序中启用了CSRF。如果没有,那么这样的事情应该做。

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

如果启用了CSRF,那么您还必须通过请求传递CSRF值。