localhost:3000/#!/ でアプリを実行していて、Express で使用する URL パラメーターを取得しようとしていますが、うまくいきません。以下を含む新しいサーバー ルーティング ファイルを作成しました。
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 リクエストを送信するボタンを含むフォームがあります。これらの要求は両方とも正常に機能します。
問題は、次のように foo パラメータを含む URL を使用してアプリにアクセスしようとしたときですhttp://localhost:3000/#!/admin/test?foo=bar
。コードで上記の 3 つの試みをそれぞれ試しましたが (1 つずつ試すことができるように他のものをコメントアウトしています)、変数を取得できないようです。
私の admin.server.controller ファイルには、populate 関数と update 関数に加えて、次のコードがあります。
admin.server.controller
exports.doSomething = function(req, res) {
console.log('Server - found foo!');
};
これらの努力のいずれも使用せずに、サーバー側で使用するために foo を「取得」したことを実際に証明することはできませんでした。私は何が欠けていますか?