Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Api 404 ec2服务器中的post请求出错_Api_Amazon Ec2_Http Post_Http Status Code 404 - Fatal编程技术网

Api 404 ec2服务器中的post请求出错

Api 404 ec2服务器中的post请求出错,api,amazon-ec2,http-post,http-status-code-404,Api,Amazon Ec2,Http Post,Http Status Code 404,我将我的mean stack项目部署到AmazonEC2实例,并尝试登录,它返回404错误(Cannot POST/api/user/login)。客户端和服务器端代码都在同一个项目中。当我从localhost运行该项目时,它工作正常。可能是什么问题?谢谢 编辑:代码剪断添加 来自控制器 var credentials = { email : $scope.user.email, password : $scope.user.password

我将我的mean stack项目部署到AmazonEC2实例,并尝试登录,它返回404错误(Cannot 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);
            })
是路线

app.use('/api/admin', require('./admin'));
在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);
    }
});
};

最终发现了问题。我在每个API端点的末尾添加了“/”,它起到了作用。

您将不得不给出关于此端点的更多详细信息。由于您得到的是
404
,听起来您的服务器正在运行,但它找不到您的端点。你确定你的应用程序被正确托管和服务了吗?@Birrree这就是我得到的错误。登录404控制器时出现POST 404(未找到)(匿名函数)错误。js:30无法POST/api/user/login@birryree我从bitbucket克隆了该项目,并安装了正确的软件包。我错过了任何配置吗?这是什么项目?“如果没有关于您正在运行什么以及控制器的代码外观的任何详细信息,我真的无法再提供任何帮助了。”Birryrree添加了代码片段。请查收