Node.js: http.js:691 throw new Error('Can\'t set Kopfzeilen, nachdem Sie gesendet werden.')
Hallo, ich mache einfache Anwendung mit MEAN-stack. Und ich bekomme diese Fehlermeldung http.js:691 throw new Error('Can\'t set Kopfzeilen, nachdem Sie gesendet werden.')
Hier ist der code:
server.js
//set up
var express = require('express');
var app = express();
var mongoose = require('mongoose');
//mongodb connection and app configuration
mongoose.connect('mongodb://localhost/test');
app.configure(function () {
app.use(express.static(__dirname + '/app'));
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
});
//define model
var Employee = mongoose.model('Employee', {
firstName : String,
lastName : String,
photoUrl : String
});
//routes ==========================
//api
//GET
app.get('/api/employees', function(req, res) {
console.log("GET");
Employee.find(function(err, employees) {
if(err) {
res.send(err);
}
res.json(employees);
});
});
//Get by ID
app.get('/api/employees/:employeeId', function(req, res) {
Employee.findById(req.params.employeeId, function(err, employee) {
if(err) {
res.send(err);
}
res.json(employee);
});
Employee.find(function(err, employees) {
if(err) {
res.send(err);
}
res.json(employees);
});
});
//POST
app.post('/api/employees', function(req, res) {
Employee.create({
firstName : req.body.firstName,
lastName : req.body.lastName,
photoUrl : req.body.photoUrl
}, function(err, employee) {
if(err) {
res.send(err);
}
Employee.find(function(err, employees){
if(err) {
res.send(err);
}
res.json(employees);
});
});
});
//DELETE
app.delete('/api/employees/:employee_id', function(req, res) {
Employee.remove({_id : req.params.employee_id}, function (err, employee) {
if(err) {
res.send(err);
}
Employee.find(function(err, employees) {
if(err) {
res.send(err);
}
res.json(employees);
})
});
});
//application
app.get('*', function(req, res) {
res.sendfile('./app/index.html');
});
//start listening (start app)
app.listen(8080);
console.log("App listening on port 8080");
Und auch:
app.js Winkel-Routen
var employeesApp = angular.module('employeesApp', [
'ngRoute',
'EmployeesControllers',
'employeeAppAnimations'
]);
employeesApp.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/employees', {
templateUrl: 'partials/employees_list.html',
controller: 'EmployeesCtrl'
}).
when('/employees/:employeeId', {
templateUrl: 'partials/employees_details.html',
controller: 'EmployeeDetailsCtrl'
}).
otherwise({
redirectTo: '/employees'
});
}]);
Du musst angemeldet sein, um einen Kommentar abzugeben.
In
sind Sie mit res.json zweimal. Nehmen wir an Mitarbeiter.findById gibt die Ergebnisse der ersten. Dann,
ist schon geschickt. Dann den code eingibt Mitarbeiter.finden callback mit einer leichten Verzögerung. Dies wiederum löst res.json(). Aber da die Resonanz auf deine Anfrage ist schon gesendet, es kann nicht senden Sie eine andere Antwort auf die gleiche Anfrage.
Dieser Zustand wirft den Fehler.
Gibt es zwei Möglichkeiten, um dieses Problem zu lösen.