Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как из Store (ExtJS) передать данные на сервер в php-скрипт ? / 4 сообщений из 4, страница 1 из 1
07.01.2013, 22:04
    #38101782
K1L0z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как из Store (ExtJS) передать данные на сервер в php-скрипт ?
Здравствуйте!

Есть такой вот Store:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
var storeNews = Ext.create('Ext.data.Store', {
    autoLoad: true,
    autoSync: true,
    idProperty: 'id',
    remoteFilter: true,
    fields: [
        { name: 'id', type: 'int' },
        { name: 'datepubl', type: 'date' },
        { name: 'dateclose', type: 'date' },
        { name: 'title', type: 'string' },
        { name: 'alias', type: 'string' },
        { name: 'new', type: 'string' },
        { name: 'newtext', type: 'string' }
    ],
    proxy: {
        type: 'ajax',
        api: {
            read: 'service/view/news.php',
            create: 'service/create/news.php',
            update: 'service/update/news.php',
            destroy: 'service/destroy/news.php'
        },
        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
                });
            }
        }
    }
});



Который в принципе исправно посылает данные на сервер:
Последовально - удаление, обновление, добавление записейRequest URL: http://localhost/service/destroy/news.php?_dc=1357565811429
Request Method:POST
Status Code:200 OK
Query String Parameters:
_dc:1357565811429
Request Payload:
{"items":{"id":5}}

Request URL: http://localhost/service/update/news.php?_dc=1357566047052
Request Method:POST
Status Code:200 OK
Query String Parameters:
_dc:1357566047052
Request Payload:
{"items":{"datepubl":"2012-12-01T00:00:00","title":"the Update Plan","alias":"the-update-plan","new":"<p>small text new</p>","newfull":"<p>full text new</p>","id":4}}

Request URL: http://localhost/service/create/news.php?_dc=1357566179903
Request Method:POST
Status Code:200 OK
Query String Parameters:
_dc:1357566179903
Request Payload:
{"items":{"id":0,"datepubl":null,"dateclose":null,"title":"the NEW new","alias":"the-new-new","new":"text the NEW new","newfull":""}}


Проблема в том что я не могу принять данные на сервера...
Все что вижу - это
_dc = 1357566179903
передаваемый во всех случаях как GET параметр.

Как принять данные Store ExtJS ?
...
Рейтинг: 0 / 0
07.01.2013, 22:12
    #38101785
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как из Store (ExtJS) передать данные на сервер в php-скрипт ?
...
Рейтинг: 0 / 0
07.01.2013, 22:26
    #38101793
K1L0z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как из Store (ExtJS) передать данные на сервер в php-скрипт ?
В $_POST абсолютно пусто...
В $_GET и $_REQUEST лежит только _dc = 1357565811429 , которая, как показано под спойлером, явно передается как GET.

А вот как передаются остальные данные - увы, я не понимаю...
...
Рейтинг: 0 / 0
09.01.2013, 11:23
    #38103038
Bibick
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как из Store (ExtJS) передать данные на сервер в php-скрипт ?
А как ты отсылаешь данные? Стор сам по себе ничего делать не будет, тебе надо изменить(добавить, удалить) запись/си в сторе и вызвать метод sync http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.Store-method-sync, который через прокси отправит запросы на соовествующие урлы. Если нужно изменить(добавить, удалить) одну запись, получаешь ее из стора и у нее есть методы save http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.Model-method-save (create, destroy).
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
fields: [
        { name: 'id', type: 'int' },
        { name: 'datepubl', type: 'date' },
        { name: 'dateclose', type: 'date' },
        { name: 'title', type: 'string' },
        { name: 'alias', type: 'string' },
        { name: 'new', type: 'string' },
        { name: 'newtext', type: 'string' }
    ],

и вот это лучше вынести в модель
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Ext.define('MyModel', {
     extend: 'Ext.data.Model',
     fields: [
         { name: 'id', type: 'int' },
        { name: 'datepubl', type: 'date' },
        { name: 'dateclose', type: 'date' },
        { name: 'title', type: 'string' },
        { name: 'alias', type: 'string' },
        { name: 'new', type: 'string' },
        { name: 'newtext', type: 'string' }
     ]
 });

 Ext.create('Ext.data.Store', {
    autoLoad: true,
    autoSync: true,
    idProperty: 'id',
    remoteFilter: true,
    model: 'MyModel'
proxy: {...}
});


Вообщем смысл в том что надо изменять записи в сторе чтобы он что-то куда-то правлял, причем изменять их методами типа set.. т.к. они кроме данных, меняют и состояние записи в сторе, у вас стоит autoSync: true, честно говоря я даже незнаю когда он будет отправлять данные, может на этапе отладки пока эту пропертю убрать и вызывать руками метод sync.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как из Store (ExtJS) передать данные на сервер в php-скрипт ? / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]