繁体   English   中英

Node / Angular中的$ http GET请求收到奇怪的响应

[英]$http GET request in Node/Angular receives weird response

当我调用get请求时,出现ngRepeat:Dupes错误,因为我的get请求是从console.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>

我的客户端控制器显示以下代码:

var getTweets = function(initial){
        $http.get('/tweets').then(function(response){
            if(initial){
                $scope.tweets = response.data;
            } else {
                $scope.incomingTweets = response.data;
            };
        });
    };
    getTweets(true);

我的服务器端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);
    };
});
};

我做错了什么?

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM