Fabrik:Winkel Versprechen response.data ist leer
angular.module('clientApp').factory('Di', function($http) {
return {
create: function(dis){
return $http.post('/dis', dis);
}
});
Controller:
'use strict';
angular.module('clientApp').controller('AdminCtrl', function($scope, toastr, Di) {
$scope.di = {};
$scope.dis = [];
$scope.add = function(){
Di.create($scope.di).then(function(response){
console.log(response, 'front data post')
$scope.dis.push(response.data);
$scope.di= {};
});
};
});
Als ich console.log() die Antwort, das einzige, was ich in response.data sehen, ist die HashKey . Ich sehe das Objekt in response.config.data, aber von dem, was ich online gesehen habe, ist dies nur das ursprüngliche Objekt, das ich an die Datenbank sende, nicht das zurückgegebene Versprechen, richtig?
Die Daten werden in der Datenbank gespeichert.
Was mache ich falsch? Ich habe eine ähnliche Konfiguration erfolgreich mit anderen Versprechen gemacht, aber die Antwort ist nicht, was ich hier erwarte.
API
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var DiSchema = new mongoose.Schema({
name: { type: String, lowercase: true , required: true },
photo: { type: String },
email: { type: String, unique: true, lowercase: true },
year: { type: Number},
timestamp: { type : Date, default: Date.now },
description: { type: String},
location: { type: Array },
social: {
website: {type: String},
facebook: {type: String },
twitter: {type: String },
instagram: {type: String }
}
});
DiSchema.methods.create = function(o, cb){
this.model.save(o, cb);
};
module.exports = mongoose.model('Di', DiSchema);
Controller:
'use strict';
var Di = require('../models/di');
exports.create = function(req, res){
Di.create(req.body , user, function(err, di){
console.log('req.body.di', req.body);
res.send({di:di});
});
};
Routen:
var dis = require('../contollers/dis');
app.post('/dis', dis.create);
Sie haben einen Tippfehler, der das Problem sein kann. Ihre "create" -Methode für den Dienst sollte den Parameter "dis" anstelle von "di" haben. Du gibst "dis" an den Post weiter, der nicht definiert ist. – DerekMT12
Entschuldigung, das ist der 'Post' oder' Get'? – ste2425
Es ist die create 'Funktion (di) {}' – Dan