2016-04-15 5 views
0

Я создаю приложение стека MEAN, но у меня проблема с тем, что Angular не может распознать модуль на моем отображаемом URL-адресе, поэтому он выдает ошибку и сбой, прежде чем он сможет выполнить мой фронт -end получить запрос.Node route not rendering correct URL

Я написал этот код в своих маршрутах/index.js файл, где table - это страница просмотра.

router.get('/table/user/:id', function(req, res){ 
    User.findById(req.params.id).populate('entries').exec(function(err, entries){ 
    if(err){ 
     console.log(err) 
    } else { 
     res.render('table', { entries: entries}) 
    } 
    }); 
}); 

Угловое может выполнять ГЭТ REQ, когда он попадает в URL /table но маршрут будет /table/user/203029384029384, URL-адрес моего запроса узла. Я чувствую, что это должно просто быть рендерингом /table, но это не так.

Что мне нужно, если для router.get на table/user/:id для визуализации /table. Похоже, этот код должен это делать, нет? PLMK, если мне нужно добавить любой другой код проекта для объяснения.

ответ

0

Возможно, вы неправильно понимаете, как AngularJS отображает страницы - будет отдельный HTTP-запрос для данных таблицы и таблицы html. Затем AngularJS помещает данные в html на стороне клиента.

Код ExpressJS, который вы предложили, будет отвечать только на запросы /table/user/xxxxx, а не /table. Таким образом, вам нужно будет сделать просмотр маршрутизатора в узле/Express, чтобы визуализировать представление отдельно. Затем вам также потребуется запустить контроллер в AngularJS для объединения данных в ваше представление - данные объединены с клиентской стороной, а не с сервером.

+0

Моя проблема в том, что я не уверен, как должен выглядеть этот вид маршрутизатора. Как только я получаю, что пользователь перенаправлен на правильный URL-адрес представления, я могу обрабатывать угловые данные на стороне клиента. Маршруты меня полностью путают. – PanicBus

+0

Вы можете думать о маршрутах как «код, который выполняется на основе URI, отправленного на сервер». Это все это значит. У вас должна быть открыта вкладка «Сеть» в инструментах разработчика Chrome, чтобы посмотреть, как загружаются все разные маршруты. – steampowered