我想让服务器接受我的帖子请求,因为我想在/ api / kill上发布一些数据。
出于某种原因它无法正常工作。我怎样才能让它发挥作用?
我通过以下链接下载了Mean堆栈的最新版本:https://github.com/dickeyxxx/mean-sample
我尝试编辑文章模块以开始。
var promise = $http.put('/api/kill', null);
响应:
angular.js:11756 PUT SITE:3000/server-error 404 (Not Found)
尝试排名第二:
var promise = $http.post('/api/kill', null);
返回:
angular.js:11756 POST SITE:3000/api/kill 404 (Not Found)
(仅当路线为:
app.route('/api/kill').all(articlesPolicy.isAllowed)
.get(articles.list)
.put(articles.killuserbyid)
所以,如果路线是:
app.route('/api/kill').all(articlesPolicy.isAllowed)
.get(articles.list)
.post(articles.killuserbyid)
它将返回原始:
angular.js:11756 PUT SITE:3000/server-error 404 (Not Found)
我的代码:
在我的article.server.routes.js中我有:
'use strict';
/**
* Module dependencies
*/
var articlesPolicy = require('../policies/articles.server.policy'),
articles = require('../controllers/articles.server.controller');
module.exports = function (app) {
// Articles collection routes
app.route('/api/kill').all(articlesPolicy.isAllowed)
.get(articles.list)
.put(articles.killuserbyid)
.delete(articles.delete);
// Single article routes
// Finish by binding the article middleware
app.param('articleId', articles.articleByID);
};
我的invokeRolesPolicies
在articles.server.policy中:
exports.invokeRolesPolicies = function () {
acl.allow([{
roles: ['admin'],
allows: [{
resources: '/api/kill',
permissions: '*'
}]
}, {
roles: ['user'],
allows: [{
resources: '/api/kill',
permissions: '*'
}]
}, {
roles: ['guest'],
allows: [{
resources: '/api/kill',
permissions: '*'
}]
}]);
};
list-articles.client.controller中的ArticlesListController
函数:
ArticlesListController.$inject = ['ArticlesService','$scope'];
function ArticlesListController(ArticlesService,$scope) {
var vm = this;
vm.testing = function() {
ArticlesService.test();
}
}
,最后我的文章服务功能(articles.client.service)
ArticlesService.$inject = ['$resource','$http'];
function ArticlesService($resource,$http) {
var o = [];
o.test = function() {
console.log("tester..");
var promise = $http.put('/api/kill', null);
promise.then(function(payload) {
console.log(payload.data);
});
}
return o;
}
答案 0 :(得分:0)
如果我正确理解您的问题/问题,则在向/api/kill
中的article.server.routes.js
发出POST请求时收到404错误
如果我错了,请纠正我,但您的代码中的当前路线是:
app.route('/api/kill').all(articlesPolicy.isAllowed)
.get(articles.list)
.put(articles.killuserbyid)
.delete(articles.delete);
目前,GET
PUT
和DELETE
请求只有路由处理程序。 POST
请求没有路由处理程序,因此您的服务器发出404错误,因为它找不到路由处理程序来响应对POST
的{{1}}请求。
尝试修改您的路线,如下所示,看看您是否收到回复
/api/kill