2013-02-08 81 views
1

我正在Extjs4加yii框架和使用MVC結構。我將把數據從extjs4發送到yii框架。我使用post方法將數據發送到服務器端,但我還沒有成功在yii框架中顯示數據。當我使用get()方法輕鬆訪問yii框架端的數據時。其實我不想在url中顯示數據,所以這就是爲什麼我在extjs4中使用post()方法。如何在php中訪問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']; 
    

我怎樣才能顯示Yii框架這你好參數?請提出一些建議。

回答

-1

你正在得到什麼錯誤。像400,404,500等。你是否也在你的YII應用中啓用了CSRF。如果不是這樣的話,應該這樣做。

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

如果CSRF啓用,那麼你必須通過與請求CSRF價值爲好。

+0

我可以知道爲什麼這是倒投了。在投票之前,你甚至檢查過YII文檔嗎? – nicholasnet 2013-05-24 19:22:08

1

我使用這樣的東西。如果$ _POST ['PostDataName']爲空getPost($ name)返回NULL

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