2017-08-26 1 views
0

ich EmberJS ziemlich neu bin zu bekommen, ich versuche, wieder einen Wert von einem Versprechen von einem benutzerdefinierten Adapter, da das Backend gegeben zu bekommen bin nicht API Schienen konformWie Wert von einem Versprechen in EmberJS mit benutzerdefinierten Adapter

Hier ist meine individuelle Adapter:

import DS from 'ember-data'; 
import Ember from 'ember'; 

    export default DS.Adapter.extend({ 
     findRecord(store, type, id) { 
     return Ember.$.getJSON("http://localhost:8000/user/by-username/" + id); 

    } 
}); 

ich meine Serializer auch geändert:

sieht
import DS from 'ember-data'; 

export default DS.JSONSerializer.extend({ 
    primaryKey:'alias', 
}); 

mein Controller wie folgt aus (wo ich stecken bin):

import Ember from 'ember'; 

export default Ember.Controller.extend({ 
    username:'', 
    actions: { 
    searchUser : function(){ 
     var id = this.get('username'); 
     var promise = this.get('store').findRecord('roles', id); 
     var self = this 
     promise.then(function(value) { 
     self.set('username', value.get('ID')); 
     }, function(reason) { 
     // on rejection 
     }); 


    } 
    } 
}); 

Speziell auf dieser Linie von oben Controller, kann ich es nicht arbeiten:

self.set('username', value.get('ID')); 

Die Ajax erfolgreich exectued ist, da ich es auf Chrom Entwickler-Tools zurückkehr json folgende Daten passieren sehen:

{"ID":"73ebf44f-71bf-4b60-a755-a4bbef208ef1","mjID":34049137,"alias":"coderman","registration_date":"2017-07-07T20:03:11Z"} 

ich bin nicht in der Lage, die ID-Wert zu erhalten, um den Benutzernamen Eigenschaft

Antwort

0

Ihr Server festgelegt werden sollte r Antwort mit dem erwarteten JSON-Datenformat. beziehen Sie sich auf ember-data-model-maker für Probe.

Beispiel Format,

{ 
"data": { 
"type": "roles", 
"id": "1", 
"attributes": { 
"id": "foo", 
"mj-id": "foo", 
"alias": "foo", 
"registration-date": "foo" }, 
} 
} 

Hinweis: 1.Look am mj-id und registration-date es ist Bindestriche. und Sie Modelleigenschaftsname sollte mjId und registrationDate mögen. 2. findRecord müssen wir Modellname role nicht die roles

erwähnen
Verwandte Themen