Когда я вызываю запрос на получение, я получаю ошибку ngRepeat: Dupes, потому что мой запрос на получение получает меня из console.log, показывает мне жестко закодированный html-код с самой страницы.
Вот консоль.лог
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 на стороне сервера не отображается «работает», что означает, что запрос даже не достиг сервера, но по какой-то причине клиентская сторона получила ответ.
mainController.js:10
а что с этим файлом и с той строкой? кажется, ваш ответ должен быть найден там - person Victor Perov   schedule 13.04.2016"works"
, но получаете html своей страницы? Это означает, что ваш веб-сервер может быть неправильно настроен. Но я не могу помочь вам, не разобравшись во всех моментах. Попробуйте изменитьthrow err
в контроллере веб-сервера наconsole.log(err);
для проверки. - person Victor Perov   schedule 13.04.2016module.exports.getTweets = function(req,res){
верно? В nodejs должен быть вашtweetController
, а неmodule
. Или вы переименовалиmodule
? - person Victor Perov   schedule 14.04.2016index.html
) может отображаться в различных ситуациях. - person Victor Perov   schedule 14.04.2016