2014-07-26 1 views
1

나는 emberjs를 RJSON과 통합하려고하는데, ember가 JSON을 어디에서 해독하는지 찾을 수 없습니다. 내 첫 번째 단계는RJSON과 ember의 통합

App.ApplicationSerializer = DS.RESTSerializer.extend({ 
    normalize: function(type, hash, prop) { 

     hash = RJSON.unpack(hash); 

     return this._super(type, hash, prop) 
     }, 
}); 

Application Serializer을 연장했지만 작동하지 않을 수 있습니다. Ember는 해시로 이미 인코딩 된 데이터를 1 레코드 만 전달합니다. 난 단지 RJSON.unpack ember로 JSON을 구문 분석 한 후 전체 레코드 배열을 전달해야합니다. 나는 RESTAdapter와 함께 Ember Data을 사용하고 있습니다. 어디에서 연장 할 적절한 방법을 찾을 수 있습니까?

+0

어댑터로 작업해야합니다. –

답변

1

나는 DS.RESTAdapterajax 메서드를 확장했습니다.

DS.RESTAdapter.reopen({ 
    ajax: function(url, type, hash) { 
     var adapter = this; 

     return new Ember.RSVP.Promise(function(resolve, reject) { 
      hash = adapter.ajaxOptions(url, type, hash); 

      hash.success = function(json) { 
      json = RJSON.unpack(json); 
      Ember.run(null, resolve, json); 
      }; 

      hash.error = function(jqXHR, textStatus, errorThrown) { 
      Ember.run(null, reject, adapter.ajaxError(jqXHR)); 
      }; 

      Ember.$.ajax(hash); 
     }, "DS: RestAdapter#ajax " + type + " to " + url); 
     }, 
}); 

이제 json 크기를 50 % 줄였습니다.

관련 문제