2016-04-19 5 views
1

Что касается функции getRooms, я ожидал, что console.log, на частичной загрузке страницы (/ rooms), массиве объектов, содержащих имя комнаты, модератора и описание, как указано моей моделью mongoose (Room) и данные в db, чтобы я мог отобразить часть этой информации на странице. Вместо этого я консоль регистрирую то, что кажется моим кодом index.html как ответ на стороне клиента, и сервер никогда не достигается. Мои запросы POST и PUT работают, и хотя это рудиментарно, кажется, что я не понимаю, как правильно делать этот запрос GET. Если бы кто-нибудь мог сообщить мне, как это делается правильно, я был бы признателен.Формат запроса GET с использованием мангуста и углового

//roomController.js 
    angular.module('chatApp').controller('roomController', ['$scope','$http','$location', '$cookies', function($scope, $http, $location, $cookies){ 

    // $scope.rooms = [ 
    // {'name': 'Biology', 'description': 'Discuss the wonders of Bio'}, 
    // {'name': 'Literature', 'description': 'From Steinbeck to Shakespeare'}, 
    // {'name': 'Dark Souls 3', 'description': 'Discuss gameplay from DS3'}, 
    // {'name': 'The Life of Pablo', 'description': "Discuss Kanye West\'s the Life of Pablo"}, 
    // {'name': 'Daredevil', 'description': 'Discuss the Netflix original Daredevil'}, 
    // {'name': 'React JS', 'description': 'Discuss ReactJS projects'} 
    // ]; 


    $scope.getRooms = function(){ 
     $http.get('/rooms').then(function(response){ 
     $scope.roomCount = response.data.length; 
     console.log(response.data.length); 
     console.log(response); 
     }); 

    }; 

    $scope.createRoom = function(){ 
    var newRoom = { 
     roomName: $scope.roomName, 
     moderator: $cookies.get('currentUser'), 
     description: $scope.roomDescription 
    }; 
    $http.post('/createRoom', newRoom).then(function(){ 
     $scope.roomName = ''; 
     $scope.moderator = ''; 
     $scope.description = ''; 

     $location.path('/createRoom'); 

     bootbox.alert('Sucessfully created Room.'); 
    }); 
    }; 


}]); 


//server side route 
//get rooms 

app.get('/rooms', function(req,res){ 
    Room.find({}, function (err, rooms) { 
     res.send(rooms); 
     console.log(rooms); 
     }); 
    }); 


//relevant part of partial page 
    <div class="container-fluid" id="roomsPage" data-ng-init="getRooms()"> 

ответ

1

проверьте свои серверные маршруты. вы регистрируете страницу index.html, потому что ваш запрос не наносит никаких экспресс-маршрутов. поэтому вместо этого он попадает на маршрут app.get (*) и возвращает html вашей страницы index.html. убедитесь, что все написано правильно, а вы используете get на другом конце вместо сообщения, если вы не имеете в виду

+0

Да, похоже, что оба являются GET, и все, кажется, написано правильно, что-то еще выглядит неправильно? –

+0

Ваш * маршрут происходит до вашего маршрута/номера на вашем сервере? – ceckenrode

+0

Да, это было –