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?
Vielen Dank, es funktioniert! – TimothePearce