2013-04-12 3 views
1

Я учусь ExtJS-4.2, я после их MVC учебник ...Получить JSON данные из данных WebAPI & загрузить в магазин

Я построил мой контроллер, вид, модель, магазин ... мой магазин было трудно закодированные данные. У меня есть рабочий WebAPI для тестирования, который посылает результат в формате JSON ...

Что учебник говорит о том, как читать из локального файла и отправить к API,

, что я хочу, чтобы читать API и загружать свои данные в магазин ...

Ext.define('AM.store.Productstore', 
{ 
    extend : 'Ext.data.Store', 
    model : 'AM.model.Productmodel', 
    autoload : true, 
    proxy : { 
      type : 'AJAX', 
      url : 'localhost/mfw/api/products/all' 
      //tutorial is no help any furthur from this point on 
      } 
}); 

Мой URL является localhost/mfw/api/products/all

и мои возвращения JSON является

[{"ID":1,"Name":"aa","Category":"A","Price":200.00}, 
{"ID":2,"Name":"bb","Category":"B","Price":200.00 
{"ID":3,"Name":"cc","Category":"C","Price":200.00}, 
{"ID":4,"Name":"dd","Category":"D","Price":200.00}, 
{"ID":5,"Name":"ee","Category":"E","Price":200.00}, 
{"ID":6,"Name":"ee","Category":"F","Price":200.00}] 

любая помощь?

+0

Какие проблемы вы получаете? чего вы пытаетесь достичь? – christiandev

+0

проблема в том, что документации нет, я пытаюсь запустить REST API и загрузить возвращаемые данные JSON в мою модель – Moon

ответ

1

Пожалуйста, измените свой прокси-тип на «отдых» вместо «Ajax». Более того, упоминайте свой конфиг вашего читателя. Вы сопоставили свой ключ json с полями в модели.

обращайтесь к руководству Sencha для большей ясности.

http://docs.sencha.com/ext-js/4-2/#!/guide/data

Благодаря

+0

Согласитесь, что документы являются основными и очень не хватает. Extjs выглядит так, как будто это отличная структура, и из того, что я могу сказать, это правда, но я новичок в своем опыте и из своего опыта до сих пор очень трудно начать с простого манипулирования данными. Документы и примеры для простого и недостаточного объяснения того, что есть и почему, или лучших практик и как. Очень расстроен !! – dan

1

Вот jsfiddle показывает сетку с вашими данными. Одним из ключевых моментов является корневое свойство json reader. Поскольку у ваших данных нет корня, вы можете оставить свойство root, и оно должно работать. Если данные обернуты внутри другого поля, то есть корневого поля, укажите корень: «myrootfield» в читателе. Итак, вот ваш прокси. Также в вашей модели укажите ключевое поле с использованием idProperty, в вашем случае это «ID», я думаю, что extjs по умолчанию имеет idProperty в нижнем регистре id, поэтому лучше просто указать его напрямую.

proxy : { 
      type : 'rest', 
      url : 'localhost/mfw/api/products/all' 
      reader: { 
       type: 'json' 
      } 
      } 
+0

эй, ваш ответ тоже приятный, но он пришел первым – Moon

+0

Все это хорошо, рад, что у вас это получилось! – dan

Смежные вопросы