2016-07-31 18 views
0

Ich versuche, einen einfachen API Express-Server zu erstellen, der JSON-Daten an meine Ember.js-App zurückgibt.Ember.js: Nicht definierte Daten

Hier mein Server ist:

var express = require('express'); 
var mongoose = require('mongoose'); 

var app = express(); 

mongoose.connect('mongodb://localhost/dataTest2'); 

var noteSchema = new mongoose.Schema({ 
    _id   : String, 
    title  : String, 
    content  : String, 
}); 

var NoteModel = mongoose.model('note', noteSchema); 


app.use((req, res, next) => { 
    res.setHeader('Access-Control-Allow-Origin', 'http://localhost:4200'); 
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); 
    res.header('Access-Control-Allow-Methods', 'POST, GET, PUT, DELETE, OPTIONS'); 
    next(); 
}); 

app.get('/api/notes', (req, res) => { 
    NoteModel.find({}, (err, data) => { 
     if(err) { 
      res.send({error:err}); 
     } 
     else { 
      res.setHeader('Content-Type', 'application/json'); 
      res.json({data:data}); 
     } 
    }); 
}); 

app.listen('4500'); 

Auf der Ember Seite ist dies mein Modell:

import DS from 'ember-data'; 

export default DS.Model.extend({ 
    title: DS.attr('string'), 
    content: DS.attr('string'), 
    author: DS.attr('string'), 
}); 

Der Adapter:

import DS from 'ember-data'; 

export default DS.JSONAPIAdapter.extend({ 
    namespace: 'api', 
    host: 'http://localhost:4500' 
}); 

Der Serializer:

import DS from 'ember-data'; 

export default DS.JSONAPISerializer.extend({ 
    primaryKey: '_id', 
}); 
Diese

ist, was mein Server reagieren, wenn ich diese Befehlszeile verwenden: curl http://localhost:4500/api/notes:

{"data":[{"_id":"579e2f68dfd5b298c9a3d732","title":"Eyeris","content":"Quis enim labore","type":"note"}, 
{"_id":"579e2f68dfd5b298c9a3d733","title":"Mazuda","content":"Voluptate cupidatat irure ,"type":"note"}, 
{etc.}]} 

Und schließlich, das ist, was Ember reagiert, wenn ich versuche, dieses Modell zu bekommen: Ember's respond

Warum tun Ich bekomme all diese "undefinierten" und wie kann ich dieses Problem lösen?

Antwort