0
我是AngularJS的新手,甚至更新ExpressJS和Mongoose。我一直在按照教程发布,并从我的数据库中获取,但我在添加删除功能时遇到了问题。AngularJS + ExpressJS +猫鼬:添加删除功能
这里是我打电话给我的删除功能:
<ul ng-repeat="disease in diseases">
<li>
{{ disease.name }}: {{ disease.chipped }},
{{ disease.received }},
{{ disease.smashed }},
{{ disease.complete }}
</li>
<button ng-click="removeDisease(disease)"></button>
</ul>
...在我的控制,我有:
app.controller('MainCtrl', [
'$scope',
'TrelloApi',
'diseases',
function($scope, TrelloApi, diseases){
$scope.diseases = diseases.diseases;
$scope.removeDisease = function(disease) {
console.log(disease);
diseases.destroy(disease);
}
}
]);
...这就要求我diseases
厂:
app.factory('diseases', [
'$http',
function($http){
var o = {
diseases: []
};
o.destroy = function(disease) {
return $http.delete('/diseases/' + disease._id).success(function(data){
console.log("Disease " + disease.name + " has been removed!");
o.getAll();
});
};
return o;
}
]);
这将返回一个404错误: DELETE http://localhost:4000/diseases/<id> 404 (Not Found)
即使thoug我在我的路线^ h包括:
var mongoose = require('mongoose');
var express = require('express');
var router = express.Router();
var Disease = mongoose.model('Disease');
// Not functional
router.delete('/diseases/:id', function(req, res, next) {
console.log(req);
});
// Functional
router.post('/diseases', function(req, res, next) {
var disease = new Disease(req.body);
disease.save(function(err, diseases){
if(err){ return next(err); }
res.json(diseases);
});
});
...和ui.router
包括:
app.config([
'TrelloApiProvider',
'$stateProvider',
'$urlRouterProvider',
function(TrelloApiProvider, $stateProvider, $urlRouterProvider) {
.state('diseases', {
url: '/diseases/{id}',
templateUrl: '/javascripts/home/_diseases.html',
controller: 'MainCtrl'
});
$urlRouterProvider.otherwise('home');
}
]);
还有一个在/javascripts/home/_diseases.html
发现了一个模板。我有一种感觉,我失去了一块,但我无法弄清楚它是什么。
我仍然得到同样的错误,只是现在它的'删除HTTP://本地主机:4000/API /疾病/ 569edff5b829031c5ebcc75f 404(未找到)' –
仍然没有运气......我收到相同的'404'。它可能与找不到模板而不是网址错误有关吗? –
你真的开始了http express服务器吗?或者这是Node.js中的所有代码? – krl