Extjs — Как вы указываете прокси в хранилище отправлять данные так же, как обычные параметры http?

#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