我将我的平均堆栈项目部署到amazon ec2实例,我尝试登录,它返回404错误(无法POST / api / user / login)。客户端和服务器端代码都在同一个项目中。当我从localhost运行项目时它工作正常。可能是什么问题 ?感谢。
编辑:已添加代码剪辑
来自控制器
var credentials = {
email : $scope.user.email,
password : $scope.user.password
};
User.login(credentials)
.then(function (response) {
// Administrator. Redirect to /admin.html page
if($cookies.get('userType') == 0) {
$location.path('/admin');
}
console.log("From controller "+ response);
})
.catch(function(error) {
console.log(error);
})
来自服务
$http({
method : 'POST',
url : '/api/user/login',
data : data
})
.success(function (data, status, headers, config) {
object = JSON.parse(Util.toObject(data));console.log(object._id);
$cookies.put('userType', object['status']); // 0 for admin
$cookies.put('email', object.email); // store the email for session.
console.log(object['status'] + ' ' + object.email);
$('#loginModal').hide();
deffered.resolve(Util.toObject(data));
})
.error(function (data, status, headers, config) {
console.log("Error in Login "+ status);
deffered.reject(data);
})
BE路线
app.use('/api/admin', require('./admin'));
内部管理文件夹,index.js文件
router.post('/login', controller.login);
controller.login文件
exports.login = function(req, res) {
console.log(req.body);
User.find(req.body, function(err, data) {
if (err) {
console.log(' Error in finding the data .. ');
}
else {
console.log(' Data found in login ' + JSON.stringify(data));
res.status(200).json(data);
}
});
};
答案 0 :(得分:0)
最终发现了这个问题。我添加了' /'在每个API端点的末尾,它都有效。