我很难让服务器接受我的post请求,因为我想在/api/kill上发布一些数据。
由于某种原因,无法工作。我怎样才能让它工作呢?
我通过以下链接下载了均值堆栈的最新版本: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 in 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;
}发布于 2016-08-23 18:53:58
如果我正确理解您的问题/问题,则在向/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请求到/api/kill。
尝试将您的路由修改为如下所示,并查看是否得到响应。
app.route('/api/kill').all(articlesPolicy.isAllowed)
.get(articles.list)
.post(...) // replace ... with appropriate route handling function
.put(articles.killuserbyid)
.delete(articles.delete);https://stackoverflow.com/questions/39100746
复制相似问题