#extjs #proxy #extjs4
#extjs #прокси #extjs4
Вопрос:
Я не понимаю, как я могу указать прокси-серверу просто отправлять данные в виде обычных параметров http в post-запрос. Вы могли бы подумать, что это было бы проще всего сделать, но я просто не могу заставить свой магазин отправлять на сервер что-либо, кроме xml или json, при CRUDing.
Пожалуйста, скажите мне, что я упускаю что-то действительно простое.
Ext.define('ObjectManager.store.Object', {
extend: 'Ext.data.Store',
model: 'ObjectManager.model.Object',
autoLoad: true,
proxy: {
type: 'ajax',
api:{
read: 'http://localhost/Get/',
update: 'http://localhost/Edit/',
create: 'http://localhost/Add/',
delete: 'http://localhost/Delete/'
},
reader: {
type: 'xml',
root: 'objects',
record: 'object'
}
}
});
Ответ №1:
Для записи метод, используемый прокси для каждого действия CRUD, может быть настроен с помощью следующей конфигурации:
actionMethods: {
create : 'POST',
read : 'POST',
update : 'POST',
destroy: 'POST'
}
Ответ №2:
Вот конфигурация хранилища, которая считывает JSON и отправляет данные как POST. Я полагаю, что ключ находится в конфигурации записи: «encode: true»
/* Data store */
Ext.create('Ext.data.Store', {
storeId:'categoryStore',
model: 'Model.Category',
autoLoad: true,
autoSync: true,
groupField: 'CategoryParent',
proxy: {
type: 'ajax',
api: {
read: '',
create: '',
update: '',
destroy: ''
},
reader: {
type: 'json',
root: 'data'
},
writer: {
root: 'data',
encode: true,
allowSingle: false
}
}
});
Комментарии:
1. К сожалению, вместо этого это приведет только к отправке json в параметр «data». Я не хочу json или xml, если мой объект User (FirstName, LastName) Я хочу, чтобы прокси сделал POST-запрос и отправил параметры FirstName и LastName.
2. @Alex попробуйте удалить корневую конфигурацию из reader и writer, затем переместите эту конфигурацию прокси в model вместо store