Загружайте данные с bd в приложении senchaTouch, используя веб-сервис, который возвращает json - PullRequest
0 голосов
/ 22 ноября 2011

Я пытаюсь отобразить некоторые данные в моем сенсорном приложении Sencha, но это не работает ... и я не могу найти, что делаю неправильно.

Мой webSiste возвращает объект json,выглядит так:

[{"name":"a","id":1}]

скрипт получает Json и отображает его:

    Ext.regApplication({ name: 'Command',
     phoneStartupScreen: 'phone-startup.png',
     phoneIcon: 'apple-touch-icon.png',
     launch: function(){
         this.viewport = new Ext.Panel(
         {
             layout: 'fit',
             fullscreen: true,   
             items: [{xtype: 'list',
                      itemTpl: new Ext.XTemplate('<div>{name}</div>'),
                      store: stores
                      }],
             dockedItems: [{xtype: "toolbar", 
                            dock: "top", 
                            title: 'MovieCommand', 
                            items: [{ui: 'back',text: 'back',handler: function(){}}]
                           }]
         });
     }
 });

 Ext.regModel('Commands', {
     fields: ['name', 'id'  ]

    });

var stores = new Ext.data.Store(
        {model: 'Commands',
         proxy: {type: 'scripttag',
                 url: 'http://localhost:8080/GTI710/commandes/liste.htm',

                  format: 'sencha',
                 reader:  new Ext.data.JsonReader ({
                        type: 'json',

                    })
                },

         });
stores.load();

У меня нет ошибок в скрипте Java, но ничегоотображается.Я просто хочу отобразить «а», но оно не работает, я не знаю почему ...

1 Ответ

0 голосов
/ 23 ноября 2011

ScriptTagProxy, который вы используете, требует ответа от сервера, который состоит из допустимого кода Javascript.

В частности, код является функцией обратного вызова с требуемыми данными JSON, которые вы указали в качестве первого аргумента:

someCallback ([{ "Имя": "а", "идентификатор": 1}]);

Имя someCallback динамически генерируется Sencha Touch при отправке запроса. Другими словами, ваша попытка сохранить ответ в статическом файле не будет работать.

Имя someCallback передается в качестве параметра в запросе GET, отправленном Sencha Touch, ключ которого по умолчанию равен callback.

Если вы не хотите использовать веб-сервер в качестве источника данных, извлеките Ext.util.JSONP .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...