【发布时间】:2016-09-27 12:51:22
【问题描述】:
我正在使用 Angular $resource 创建我的自定义 PUT 方法。 但是当我尝试在 NodeJs 中点击一个相等的 REST url 时,它说找不到我发送的地址。
这是我的工厂:
(function (angular)
{
angular.module('projekat.resource',['ngResource'])
.factory('ProjekatEntry', ["$resource", function($resource)
{
var ProjEntry = $resource('/api/projekat/:_id',
{_id:'@_id'},
{
obrisiKorisnika:
{
method: 'PUT',
url: 'api/projekat/:_id/:korId'
}
});
return ProjEntry;
}]);
}(angular));
这是我的角度代码:
$scope.obrisiUsera = function (korisnik, index)
{
$scope.projUser.$obrisiKorisnika( {'korId': korisnik._id});
$scope.projUser.korisnici.splice(index, 1);
$scope.korEntries.push(korisnik);
}
这是我的路由器:
.put('/:id/:korId', function(req, res, next) {
console.log("dasdasasdasds");
Korisnik.findOne({
"_id": req.params.korId
}, function(err, korisnik) {
if (err)
{
console.log(err);
next(err);
}
Korisnik.findByIdAndUpdate(korisnik._id, {$pull:{"projekti":req.params.id}}, function (err)
{
if(err)
{
console.log(err);
next(err);
}
});
Projekat.findByIdAndUpdate(req.params.id, {$pull:{"korisnici":korisnik._id}}, function (err, entry) {
if (err)
{
console.log(err);
next(err);
}
res.json(entry);
});
});
})
但我认为服务器端不是问题,因为它永远不会到达服务器,这就是错误提示的原因:
PUT http://localhost:8080/slickTask/api/projekat/5744b8802d28307020d8cc40/5744ba262d28307020d8cc4c 404(未找到)
我的路由器很好,现在一切正常,POST、PUT、GET 等,但是当我尝试将 PUT 方法与另一个参数一起使用时,它不会在服务器端访问我的 url。
【问题讨论】:
标签: javascript angularjs node.js rest angular-resource