2015-12-01 2 views
0

Я реализую простую службу RESTful. Это URL запроса запроса и данные ответа json.Служба ExtJS RESTful не обрабатывает данные json

http://localhost:8080/RESTfulTestWeb/rest/services/getJson/aupres

{"id":"aupres","passwd":"aaa","age":45,"name":"joseph"} 

Проблема заключается клиент объект ExtJS магазин не может обрабатывать вышеуказанные данные JSON. Это клиентские коды ExtJS

Ext.define('extjs.model.Member', { 
    extend: 'Ext.data.Model', 

    fields : [{ 
     name : 'id', 
     type : 'string' 
    }, { 
     name : 'passwd', 
     type : 'string' 
    }, { 
     name : 'age', 
     type : 'int' 
    }, { 
     name : 'name', 
     type : 'string' 
    }] 
}); 

Ext.onReady(function() { 

    var members = Ext.create('Ext.data.Store', { 

     model : 'extjs.model.Member', 
     //autoLoad : true, 
     proxy: { 
      type: 'rest', 
      url : 'http://localhost:8080/RESTfulTestWeb/rest/services/getJson/aupres', 
      reader: { 
       type: 'json', 
       root: 'id', 
      }, 
      writer: { 
       type: 'json' 
      }, 
      listeners: { 
       exception: function(proxy, response, operation){ 
        Ext.MessageBox.show({ 
         title: 'REMOTE EXCEPTION', 
         msg: operation.getError(), 
         icon: Ext.MessageBox.ERROR, 
         buttons: Ext.Msg.OK 
        }) 
       } 
      } 

     }, 
     listeners: { 
      load: function(members, operation, success) { 
       if(success) { 
        alert('response : ' + members.model.length) 
       } else { 
        alert('it failed') 
       } 
      } 
     } 
    }) 

    var onButtonClick = function() { 
     members.load() 
    } 

откоса показан как ниже

"response : 0" 

Кажется, мои коды ExtJS не содержат данные в формате JSON.

+1

ли вы проверяете конфигурацию 'reader' и' writer'? (Консультирование: вы должны всегда настраивать прокси-сервер в модели, потому что прокси и модель связаны) – Michel

ответ

0

HI Вы можете переписать метод toString() вашего класса. то вы можете получить точную.

Как вы хотите данные по [ "ID": "AUPRES", "ПАРОЛЬ": "ааа", "возраст": 45, "имя": "Жозеф"}] или какой-либо другой формат

+0

Я боюсь, что я новичок в javascript, поэтому я понятия не имею, как перезаписать метод toString. Пожалуйста, сообщите мне пример кода или обратитесь к нему. сайт. Спасибо –

+0

toString() вы должны переписать с сервера. в java-коде вы должны перезаписать не код клиента –

1

Читатель прокси-сервера в ExtJs 5 и выше ищет rootProperty: вместо root:.

+0

Вы также не хотите использовать rootProperty из 'id' - он ожидает найти там объект, который может превратиться в модель. Учитывая JSON, показанный выше, вы вообще не хотите rootProperty. –