[英]POST returns 404 Not Found
我最近開始使用 MEAN Stack 來創建一個基本的應用程序,所以我是一個初學者,我設置了我的控制器和所有東西,我想發布,但是它返回 api/user not found,有人可以查明問題並幫助我出去? 謝謝。
服務器.js:
var app = require ('./app/app');
var signupController = require ('./server/signup-controller');
app.post('api/users', signupController.create);
app.listen('8080', function(){
console.log('[OK] => HTTP Server listening on http://localhost:8080');
require('./app/db').init('mongodb://localhost:27017/shopialmedia' );
});
服務器端控制器(signup-controller.js):
module.exports.create = function (req, res) {
console.log(req.body);
}
客戶端控制器(signup-controller.js):
app.controller('signupController', ['$scope', '$resource', function ($scope, $resource) {
var User = $resource('/api/users');
$scope.createUser = function () {
var user = new User();
user.email = $scope.userEmail;
user.password = $scope.userPass;
user.firstName = $scope.userFName;
user.lastName = $scope.userLName;
user.age = $scope.userAge;
user.$save(function (result){
$scope.user.push(result);
$scope.userEmail = '';
$scope.userPass = '';
$scope.userFName = '';
$scope.userLName = '';
$scope.userAge = '';
});
}
}]);
我的模塊:
var app = angular.module('signupApp', ['ngResource']);
我的 app.js :
var express = require ('express');
var app = express();
app.use(express.static('public'));
require('./routes')(app);
module.exports = app;
當我在我的網頁上運行應用程序並提交信息時,它返回 api/user 404 Not found any Recommendations on what to do,我將不勝感激。 正如我所說,我是初學者,所以請考慮到這一點。
Server.js 添加:
app.get('api/users', signupController.list);
signup-controller.js 添加:
mongoose = require('mongoose'),
User = mongoose.model('User');
module.exports.list = function(req, res){
var searcher = req.query || {};
User.find(searcher)
.sort('-created')
.exec(function (err, users) {
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
}
res.json(users);
});
};
顯然,您還必須使用一個可能名為 main.js 的文件連接到 mongoose,然后您將需要一個 UserModel.js(或等效文件),您可以在其中使用 mongoose Schema 定義用戶等的屬性...
我的意思是,如果你想要一些更簡單的開始,你會錯過很多東西,你可以這樣做:
module.exports.list = function(req, res){
var users = [];
res.json(users);
};
還認為你需要這個,這也是更好的格式:
var router = express.Router();
router.route('/')
.get(users.list)
.get(users.create)
app.use('/api/users', router);
不知道這應該做什么或什么 ./routes 是: require('./routes')(app);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.