Javascript MEANJS获取URL参数
我正在本地主机上运行我的应用程序:3000/#!/,并试图获取用于Express的URL参数,但运气不佳。我创建了一个新的服务器路由文件,其中包含以下内容: admin.server.routes.jsJavascript MEANJS获取URL参数,javascript,node.js,express,mean-stack,meanjs,Javascript,Node.js,Express,Mean Stack,Meanjs,我正在本地主机上运行我的应用程序:3000/#!/,并试图获取用于Express的URL参数,但运气不佳。我创建了一个新的服务器路由文件,其中包含以下内容: admin.server.routes.js 'use strict'; module.exports = function(app) { // Admin Routes var admin = require('../../app/controllers/admin.server.controller'); /
'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/#!/管理员/测试?foo=bar
。在我的代码中,我已经尝试了上面提到的三次尝试中的每一次(注释掉其他尝试,以便我可以一个接一个地尝试),但似乎无法获得变量
在我的admin.server.controller文件中,除了填充和更新功能外,我只需要以下代码:
管理服务器控制器
exports.doSomething = function(req, res) {
console.log('Server - found foo!');
};
使用这些努力,我实际上都没有能够证明我已经成功地“抓取”了foo供服务器端使用。我错过了什么?在你的
http://localhost:3000/#!/admin/test?foo=bar
所有hashbang URL都由angularjs处理,此/admin/test?foo=bar
不会被视为请求。要在请求中添加查询字符串,可以在angularjs资源中这样做:
function ($resource) {
$resource('/admin/test').query({foo: 'bar'});
}
这将表示为这<代码>http://localhost:3000/admin/test?foo=bar
您的问题主要取决于您如何在客户端发送请求
顺便说一下,在您的快速路线中,您可以获得如下foo值:
如果您想获取查询字符串并在请求中使用它,请在
http://localhost:3000/#!/admin/test?foo=bar
所有hashbang URL都由angularjs处理,此/admin/test?foo=bar
不会被视为请求。要在请求中添加查询字符串,可以在angularjs资源中这样做:
function ($resource) {
$resource('/admin/test').query({foo: 'bar'});
}
这将表示为这<代码>http://localhost:3000/admin/test?foo=bar
您的问题主要取决于您如何在客户端发送请求
顺便说一下,在您的快速路线中,您可以获得如下foo值:
如果您想获取查询字符串并在请求中使用它,请在
http://localhost:3000/#!/admin/test?foo=bar
所有hashbang URL都由angularjs处理,此/admin/test?foo=bar
不会被视为请求。要在请求中添加查询字符串,可以在angularjs资源中这样做:
function ($resource) {
$resource('/admin/test').query({foo: 'bar'});
}
这将表示为这<代码>http://localhost:3000/admin/test?foo=bar
您的问题主要取决于您如何在客户端发送请求
顺便说一下,在您的快速路线中,您可以获得如下foo值:
如果您想获取查询字符串并在请求中使用它,请在
http://localhost:3000/#!/admin/test?foo=bar
所有hashbang URL都由angularjs处理,此/admin/test?foo=bar
不会被视为请求。要在请求中添加查询字符串,可以在angularjs资源中这样做:
function ($resource) {
$resource('/admin/test').query({foo: 'bar'});
}
这将表示为这<代码>http://localhost:3000/admin/test?foo=bar
您的问题主要取决于您如何在客户端发送请求
顺便说一下,在您的快速路线中,您可以获得如下foo值:
如果您想获取查询字符串并在请求中使用它,请参考以下内容:URL的格式为
:/?35;
URL第一个#之后(包括第一个#)的任何部分都被视为片段。片段仅在客户端(在本例中为浏览器)上使用,通常不由服务器使用
从第3.5节
片段标识符作为客户端间接引用的主要形式,在信息检索系统中具有特殊的作用,允许作者专门识别现有资源中仅由资源所有者间接提供的方面。因此,片段标识符不用于URI的特定于方案的处理中;相反,在解引用之前,片段标识符与URI的其余部分分离,因此片段本身中的标识信息仅由用户代理解引用,而与URI方案无关
传统上,片段用于链接到同一页面上的锚。一个很好的例子是上面提供的RFC页面链接,它将使您跳转到第3.5节。在浏览器中自动分段
该节的URL为https://tools.ietf.org/html/rfc3986#section-3.5
,因此片段是第3.5节
。在页面的HTML中,
中有一个锚,表示该节包含:
<a class="selflink" name="section-3.5" href="#section-3.5">3.5</a>
URL的格式为
://?#
URL第一个#之后(包括第一个#)的任何部分都被视为片段。片段仅在客户端(在本例中为浏览器)上使用,通常不由服务器使用
从第3.5节
片段标识符作为客户端间接引用的主要形式,在信息检索系统中具有特殊的作用,允许作者专门识别现有资源中仅由资源所有者间接提供的方面。因此,片段标识符不用于URI的特定于方案的处理中;相反,在解引用之前,片段标识符与URI的其余部分分离,因此片段本身中的标识信息仅由用户代理解引用,而与URI方案无关
传统上,片段用于链接到同一页面上的锚。一个很好的例子是上面提供的RFC页面链接,它将使您跳转到第3.5节。在浏览器中自动分段
该节的URL为https://tools.ietf.org/html/rfc3986#section-3.5
,因此片段是第3.5节
。在用于pa的HTML中