2016-04-13 21 views
0

getリクエストを呼び出すと、私の取得要求がconsole.logから取得しているため、ngRepeat:Dupesエラーが表示されます。ハードコードされたhtmlコードページ自体から

router.get('/tweets', tweetController.getTweets); 

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

と私のサーバーサイドAPI関数は以下の通りです:ここでは

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> 

私のクライアント側のコントローラは、次のコードを示してはconsole.logであります最後にサーバー側コントローラは次のようになります。

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は、要求がサーバーに到達していないことを意味する「動作」を表示しませんが、何らかの理由でクライアント側から応答があります。

+0

'mainController.js:10'と、このファイルとその行はどうですか?あなたの答えはそこに見つけられるはずです –

+0

こんにちは@VictorPerovは、私がサーバーからどのような応答を得るのかを見るためにconsole.log関数に入れました。 –

+0

なので、あなたは ''作品を印刷しようとしていますが、あなたのページのhtmlを受け取りますか?これは、あなたのWebサーバーが誤って構成されている可能性があることを意味します。しかし、私はすべての点を理解することなくあなたを助けることはできません。あなたのウェブサーバーコントローラの 'throw err'をテスト目的のために' console.log(err); 'に変更してみてください。 –

答えて

0

おそらく、サーバーがエラーページを返しました。何が起こっているかを見るために返されたhtmlを調べると、おそらくいくつかの情報が含まれています。

ブラウザで郵便番号/tweetsを実行するか、Postmanで(またはChrome開発ツールを使用して)アプリをデバッグします。サーバーがjsonを返さない場合、URLが間違っているか、何かがサーバー側で間違っています。これにより、クライアント側のバグが排除されます。

+0

'/tweets'はどこにもルーティングされないため、ブラウザに何も表示されません。私は個人的に '/ tweets'リクエストをクライアントサイドとサーバサイドの両方にルーティングしましたが、サーバ側はリクエストを受け取っていません。 –

+0

私はもちろん、完全なURLを意味します。クライアントとサーバが同じポート上で動作していると仮定してhttp:// localhost:[port]/tweets – fikkatra

+0

node.jsの意味は理解していますが、 "/ tweets"はどこにもルーティングされていません。したがって、 "/ tweets"に行くことによって、エラー404が発生することになります。 –

関連する問題