Javascript 节点/Angular中的$http GET请求收到奇怪的响应

Javascript 节点/Angular中的$http GET请求收到奇怪的响应,javascript,angularjs,ajax,node.js,mean-stack,Javascript,Angularjs,Ajax,Node.js,Mean Stack,当我调用get请求时,我得到的是ngRepeat:Dupes错误,因为我的get请求是从控制台得到的。log向我显示页面本身的硬编码html代码 这是console.log mainController.js:10 <!DOCTYPE> <html ng-app="myApp"> <head> <title>Social Network Tutorial</title> <link rel="stylesheet"

当我调用get请求时,我得到的是ngRepeat:Dupes错误,因为我的get请求是从控制台得到的。log向我显示页面本身的硬编码html代码

这是console.log

mainController.js:10 <!DOCTYPE>
<html ng-app="myApp">
<head>
    <title>Social Network Tutorial</title>
    <link rel="stylesheet" href="libs/bootstrap/css/bootstrap.min.css"/>
    <link rel="stylesheet" href="libs/bootstrap/css/bootstrap-theme.min.css"/>
    <link rel="stylesheet" href="css/stylesheet.css"/>
</head>
<body>
    <nav class="navbar navbar-default navbar-fixed-top" ng-controller="navigationController">
        <div class="container">
            <div ng-show="!loggedIn">
                <input type="text" ng-model="login.email">
                <input type="password" ng-model="login.password">
                <button ng-click="logUserIn()">Login</button>
                <a ui-sref="signUp">Create An Account</a>
            </div>
            <div ng-show="loggedIn">
                <a ui-sref="editProfile">Edit Profile</a>
                <a ng-click="logOut()">Logout</a>
            </div>
        </div>
    </nav>

    <div ui-view></div>

    <!--Libraries-->
    <script type="text/javascript" src="libs/angular/angular.min.js"></script>
    <script type="text/javascript" src="libs/angular-ui-router/angular-ui-router.min.js"></script>
    <script type="text/javascript" src="libs/ng-file-upload/ng-file-upload.min.js"></script>
    <script type="text/javascript" src="app.js"></script>

    <!--Controllers-->
    <script type="text/javascript" src="partials/signup/signupController.js"></script>
    <script type="text/javascript" src="partials/navigation/navigationController.js"></script>
    <script type="text/javascript" src="partials/profile/editProfileController.js"></script>
    <script type="text/javascript" src="partials/main/mainController.js"></script>
</body>
</html>
我的服务器端api函数如下所示:

router.get('/tweets', tweetController.getTweets);
module.exports.getTweets = function(req,res){
console.log("works");
Tweet.find({}).sort({date: -1}).exec(function(err, data){
    if(err) {
        throw err;
        res.json({status: 500});
    } else {
        console.log(data);
        res.json(data);
    };
});
};
最后,服务器端控制器如下所示:

router.get('/tweets', tweetController.getTweets);
module.exports.getTweets = function(req,res){
console.log("works");
Tweet.find({}).sort({date: -1}).exec(function(err, data){
    if(err) {
        throw err;
        res.json({status: 500});
    } else {
        console.log(data);
        res.json(data);
    };
});
};
我做错了什么


服务器端的console.log没有显示“works”,这意味着请求甚至没有到达服务器,但由于某种原因客户端收到了响应。

服务器可能返回了错误页面。检查返回的html以查看发生了什么,它可能包含一些信息


通过在浏览器或邮递员中执行url
/tweets
(或使用Chrome开发工具)调试应用程序。如果服务器不返回json,则表明url错误或服务器端出现问题。这消除了客户端中的错误。

/tweets
没有路由到任何地方,因此它不会在浏览器中显示任何内容。我个人将
/tweets
get请求发送到客户端和服务器端,但服务器端从未收到请求。当然,我指的是完整的url。假设客户端和服务器在同一端口上运行,请尝试执行我理解您的意思,但在node.js中“/tweets”不会路由到任何地方。因此,通过转到“/tweets”,我在某种意义上会得到一个错误404。如果/tweets没有路由到任何地方,那么在调用$http(“/tweets”)时,您希望得到什么结果?您是否检查了返回的html?我猜这是一个404错误页面,它返回的html是我的基本视图页面,如果你看到上面的代码,你就会明白我的意思。它在服务器中路由,但不是实际链路。它只是被路由到一个访问数据库的函数。
mainController.js:10
那么这个文件和那一行呢?似乎您的答案应该在TheHi@VictorPerov中找到,这就是我在console.log函数中的位置,以便查看我从服务器得到的响应。那么,您正在尝试打印
“works”
,但收到您页面的html?这意味着您的web服务器可能无法配置。但如果我不理解所有要点,我就帮不了你。尝试将web服务器控制器中的
throw err
更改为
console.log(err)用于测试目的。没有@VictorPerov,我尝试在客户端执行console.log(response.data),但实际上它甚至没有到达服务器端。Console.log(“works”)应该在我的服务器控制台上打印“works”,但它不打印,Console.log(“response.data”)在上面打印控制台数据。您确定这
module.exports.getTweets=function(req,res){
是否正确?在nodejs中应该是您的
tweetController
,而不是
模块
。或者您是否重命名了
模块