我在 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
:我已经在我的代码中尝试了上述三种尝试中的每一种(将其他尝试注释掉,以便我可以一一尝试),但似乎无法获得变量。
在我的 admin.server.controller 文件中,除了填充和更新功能之外,我还拥有以下代码:
admin.server.controller
exports.doSomething = function(req, res) {
console.log('Server - found foo!');
};
使用这些努力,我实际上并没有能够证明我已经成功地“抓住”了 foo 以供服务器端使用。我错过了什么?