2015-02-28 3 views
0

Я работаю для подключения моего клиента к моему серверу (node.js). Я использую этот код:Qooxdoo/JSON Array undefined value

var storeEmployees = new qx.data.store.Json ("Load/Infos");

 qx.event.Registration.addListener(storeEmployees, "loaded", function(){ 
      var model = this.getModel(); 

      console.log(model.getRecords()); 
      console.log(model.getTotal()); 
      console.log(model.getStatus()); 
     }, storeEmployees); 

Мой сервер отправить это значение:

{records: ["bonjour", "aurevoir"], total:2, status:"success"} 

однако "console.log(model.getRecords())" записи на консоли:

Object[undefined, undefined] 

Вместо

Object["bonjour","aurevoir"] 

Значения "getTotal" и "getStatus" являются хорошими. Проблема заключается только в массиве (простой массив и комплексный массив).

Любая идея?

Заранее благодарен!

ответ

0

Магазин маршалирует данные для моделирования объектов. Это означает, что вы имеете дело с qx.data.Array, к которому, к сожалению, не может быть обращена ссылка на скобки (например, Data [0]). Но это то, что делает консоль. Для отладки и ведения журнала вы можете получить доступ к простому массиву с помощью метода .toArray(), который затем покажет результаты.

+0

Спасибо за ваш ответ. В случае официального demo-browser.data.JsonToList мы видим, что они используют этот Json-файл: (http://demo.qooxdoo.org/4.1/demobrowser/resource/demobrowser/demo/data/list.json). Этот файл также использует массив с скобками, и это работает. Однако я буду исследовать ваши ответы, чтобы лучше понять. – Gonath

+1

Хорошо работает с toArray(). Спасибо за Ваш ответ ! Ты прав. Проблема не в JSON, а в консоли, когда я пытался записать значение массива. Благодаря ! – Gonath