私はextjs + Yiiで働いています。クライアント側の機能は yii で設計され、サーバー側の機能は extjs で設計されています。extjsコントローラーでは、ストアを動的に生成し、そのプロキシを設定し、ストアのsync()メソッドを使用するコードを記述しました。
review:function()
{ var reviewQuestionStore=Ext.create('Balaee.store.qb.QbqnsStore');
proxy=reviewQuestionStore.getProxy();
Ext.apply(proxy.api,{
read:'http://127.0.0.1/s_balaee/Balaee/index.php/QuestionBank/Qbpaper/ReviewQuestionPaper',
create:'http://127.0.0.1/s_balaee/Balaee/index.php/QuestionBank/Qbpaper/ReviewQuestionPaper',
});
Ext.apply(proxy.writer,{
type:'json',
root:'records'
});
Ext.apply(proxy.reader,{
type:'json',
root:'questions'
});
var getdata=this.getLocalvalue();
UserId=getdata.data.userId;
//Using sync method
var check =Ext.create('Balaee.model.qb.QbqnsModel',{
questionPaperNo:Paperno,
userId: UserId,
});
reviewQuestionStore.add(check);
reviewQuestionStore.sync();
}
そのため、正しく機能しています。そして、json形式でデータを送信します-
{"records":{"userId":"5","firstName":"abc","middleName":"","lastName":"","languageId":"","primaryEmail":"sdf@sdf.dfg","birthDate":"","password":"","securityQuestionId":"","securityQuestionAnswer":"","isMale":"","creationTime":"","ipAddress":"","confirmationCode":"","userStatusId":"","question":"","id":null}}
今、私は yii コントローラー関数でこのデータをキャッチしたいと考えています。私は試してみました-
$postData = json_decode(file_get_contents("php://input"), true);
$clientData = $postData['records'];
フィールドにアクセスするには、$clientData['firstName'] を使用していますが、機能していません。Extjs の store sync() メソッドを介して送信される Yii でデータをキャッチする方法。