Я запускаю свое приложение на локальном хосте: 3000/#!/ и безуспешно пытаюсь получить параметры URL для использования с Express. Я создал новый файл маршрутизации сервера, который содержит следующее:
admin.server.routes.js
'use strict';
module.exports = function(app) {
// Admin Routes
var admin = require('../../app/controllers/admin.server.controller');
// Both of these routes work fine.
app.route('/admin/test').
get(admin.populate).
put(admin.update);
// First attempt, didn't work.
app.route('/admin/test').get(admin.doSomething);
// Second attempt, didn't work.
app.param('foo', admin.doSomething);
// Third attempt, didn't work.
app.param('foo', function(req, res) {
console.log('Found foo!');
return res.status(400).send();
});
};
На моей странице администратора мой admin.client.controller.js отправляет запрос $http.get при загрузке для заполнения данных. У меня есть форма с кнопкой, которая отправляет запрос $http.put для обновления заполненных значений. Оба эти запроса работают нормально.
Проблема возникает, когда я пытаюсь посетить свое приложение, используя URL-адрес с параметром foo, например: http://localhost:3000/#!/admin/test?foo=bar
. Я пробовал каждую из трех попыток, отмеченных выше, в своем коде (закомментировав остальные, чтобы я мог попробовать их одну за другой), но, похоже, не могу получить переменную.
В моем файле admin.server.controller, в дополнение к функциям заполнения и обновления, у меня есть просто этот код:
admin.server.controller
exports.doSomething = function(req, res) {
console.log('Server - found foo!');
};
Не используя ни одного из этих усилий, я действительно смог продемонстрировать, что успешно "схватил" foo для использования на стороне сервера. Что мне не хватает?