我正在使用Extjs4 plus yii框架并使用MVC结构。我将把数据从extjs4发送到yii框架。我使用post方法将数据发送到服务器端,但我还没有成功在yii框架中显示数据。当我使用get()方法时,数据很容易访问yii框架端。实际上我不想在url中显示数据,这就是为什么我在extjs4中使用post()方法。
这是我的一些代码:
模型文件:
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', ]
});
商店档案:
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
我的控制器文件有些代码:
var obj = this.getStore('sn.UserStore');
obj.load({
params: {
hello: 'jitu'
}
});
这是我的yii框架控制器文件代码:
$postData = json_decode(file_get_contents("php://input"), true);
$clientData = $postData['records'];
echo $_POST['hello'];
如何在yii框架中显示此hello参数?请给出一些建议。
答案 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值。