ajax — ExtJS store создает записи с PHP и MySQL

я хочу добавить запись в сетке extjs с Ajaxproxy. здесь некоторый код, который я получил проблему в PHP бэкэнда. я не знаю, как данные из модели extjs отправить на URL в магазине. у меня есть данные читателя успеха из бэкэнда магазина php, нет необходимости отправлять данные.
пожалуйста помоги.

добавить запись

onAddClick: function(){
var rec = new Writer.Person({
real_name: '',
username: '',
email: ''
}), edit = this.editing;

edit.cancelEdit();
this.store.insert(0, rec);
edit.startEditByPosition({
row: 0,
column: 1
});
}

модель

Ext.define('Writer.Person', {
extend: 'Ext.data.Model',
fields: [{
name: 'id',
type: 'int',
useNull: true
}, 'email', 'real_name', 'username'],
validators: {
email: {
type: 'length',
min: 1
},
real_name: {
type: 'length',
min: 1
},
username: {
type: 'length',
min: 1
}
}

});

хранить

var store = Ext.create('Ext.data.Store', {
model: 'Writer.Person',
autoLoad: true,
autoSync: true,
proxy: {
type: 'ajax',
api: {
read: 'index.php/master/getUser/',
create: 'index.php/master/addUser/',
update: 'index.php/master/updateUser/',
destroy: 'index.php/master/deleteUser/'
},
reader: {
type: 'json',
successProperty: 'success',
root: 'data',
messageProperty: 'message'
},
writer: {
type: 'json',
writeAllFields: false,
root: 'data'
},
listeners: {
exception: function(proxy, response, operation){
Ext.MessageBox.show({
title: 'REMOTE EXCEPTION',
msg: operation.getError(),
icon: Ext.MessageBox.ERROR,
buttons: Ext.Msg.OK
});
}
}
},
listeners: {
write: function(proxy, operation){
if (operation.action == 'destroy') {
main.child('#form').setActiveRecord(null);
}
Ext.example.msg(operation.action, operation.getResultSet().message);
}
}
});

PHP

public function getUser(){
$arr=array();
$rs = $this->db->query("select email, id, username, real_name from t_users order by id")->result_array();
if (is_array($rs)) {
foreach($rs as $row)
{
$arr[] = $row;
}
}
echo json_encode($arr);
}

public function addUser(){
$data = array(
'email' => $this->input->post('email'),
'real_name' => $this->input->post('real_name'),
'username' => $this->input->post('username')
);
$add = json_decode($this->db->insert('t_users',$data));
echo json_encode($add);
var_dump($this->session->all_userdata());
}

2

Решение

попробуй это. и это работа

PHP

public function addUser(){
$input_data = json_decode(trim(file_get_contents('php://input')), true);
$data = $input_data['data'];
$add = json_decode($this->db->insert('t_users',$data));
echo json_encode($add);
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector