Данные Ajax JSON не загружаются в хранилище данных - PullRequest
0 голосов
/ 02 сентября 2011

Мое хранилище данных работает, когда в хранилище данных есть элемент конфигурации «data: ... raw json», но когда я пытаюсь загрузить его через ajax, он не работает.

 new Ext.data.Store({
        model: "SearchResult",
        proxy: {
            type: "ajax",
            url : "test.php",
            extraParams : 'test',
            reader: {
                type: "json",

            }
        },

    });

Примечание: test.php вызывается в соответствии с chrome и выводит:

{stock: 'Tommy', storePhone: '353535', year: '1984', make: 'Ferrari', trim: 'trim', miles: '12345', storename: 'branch name' },{stock: 'Tommy', storePhone: '353535', year: '1984', make: 'Ferrari', trim: 'trim', miles: '12345', storename: 'branch name' },{stock: 'Tommy', storePhone: '353535', year: '1984', make: 'Ferrari', trim: 'trim', miles: '12345', storename: 'branch name' }

Есть идеи, что я делаю неправильно?

Ответы [ 3 ]

2 голосов
/ 02 сентября 2011

Примечание: test.php вызывается в соответствии с chrome и выводит:
{склад: «Томми», магазинТелефон: «353535», год: «1984», марка: «Феррари», комплектация: 'trim', миль: '12345', storename: 'имя филиала'},
{сток: 'Томми', storePhone: '353535', год: '1984', производитель: 'Ferrari', комплектация: 'trim', мили: «12345», имя: «имя филиала»},
{сток: 'Томми', storePhone: '353535', год: '1984', производитель: 'Ferrari', комплектация: 'trim', мили: '12345', имя: «имя филиала»}

А где квадратные скобки? Для конфигурации вашего магазина ответ должен выглядеть следующим образом:

// Notice the square brackets
[
  {stock: 'Tommy', storePhone: '353535', year: '1984', make: 'Ferrari', trim: 'trim', miles: '12345', storename: 'branch name' }, 
  {stock: 'Tommy', storePhone: '353535', year: '1984', make: 'Ferrari', trim: 'trim', miles: '12345', storename: 'branch name' }, 
  {stock: 'Tommy', storePhone: '353535', year: '1984', make: 'Ferrari', trim: 'trim', miles: '12345', storename: 'branch name' }
]
1 голос
/ 02 сентября 2011

Вам нужна оболочка для данных для вашего JSON:

{"data":[... your JSON ...],"total":9999999,"success":true}
1 голос
/ 02 сентября 2011

вы кодируете свои данные как json в php?как это эхо json_encode ($ data);Либо так, либо модель полностью отличается от реакции.

Формат json будет выглядеть следующим образом

{'success':true,'values':[{stock: 'Tommy', storePhone: '353535', year: '1984', make: 'Ferrari', trim: 'trim', miles: '12345', storename: 'branch name' },{stock: 'Tommy', storePhone: '353535', year: '1984', make: 'Ferrari', trim: 'trim', miles: '12345', storename: 'branch name' },{stock: 'Tommy', storePhone: '353535', year: '1984', make: 'Ferrari', trim: 'trim', miles: '12345', storename: 'branch name' }]}


reader:{
                    type: 'json',
                    root: 'values',
                }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...