Javascript $location路径删除参数
我使用的是angular,有一个包含许多参数的复杂URL,类似于Javascript $location路径删除参数,javascript,angularjs,Javascript,Angularjs,我使用的是angular,有一个包含许多参数的复杂URL,类似于http://localhost:3000/#/faaacceptance?FAAFreqNauticalMileOption=20 出于某种原因,当我执行以下操作时: var absUrl = $location.absUrl(); var test1= $location.path(); var test2= $location.url(); 所有返回的url都没有查询参数 它只返回http://localhost:3000/
http://localhost:3000/#/faaacceptance?FAAFreqNauticalMileOption=20
出于某种原因,当我执行以下操作时:
var absUrl = $location.absUrl();
var test1= $location.path();
var test2= $location.url();
所有返回的url都没有查询参数
它只返回http://localhost:3000/#/faaacceptance
?
之后的所有参数都将被删除,我无法找出原因。控制器完成加载后,url栏中的所有url参数都将被删除。
我正在使用三角形管理主题,这是在我更新它之后开始发生的,但我不确定是否有其他方法可以找出问题所在,因为我无法找到主题中的哪里会发生这种情况。我还将angular更新为最新版本,因此可能有些变化。感谢您的帮助这是预期的行为,
$location.path
的工作原理与文档中的描述完全相同
在没有任何参数的情况下调用时返回当前url的路径
使用参数调用时更改路径并返回$location
注意:路径应始终以正斜杠(/)开头,此方法
如果缺少,将添加正斜杠
你可以使用下面的一个
// given url http://example.com/#/some/path?foo=bar&baz=xoxo
var path = $location.path();
// => "/some/path"
因此,如果需要完整路径,请使用
// given url http://example.com/#/some/path?foo=bar&baz=xoxo
var absUrl = $location.absUrl();
// => "http://example.com/#/some/path?foo=bar&baz=xoxo"
或者仅使用参数路径
// given url http://example.com/#/some/path?foo=bar&baz=xoxo
var url = $location.url();
// => "/some/path?foo=bar&baz=xoxo"
如果要获取url参数,必须使用
$routeParams
谁是具有param/值的对象
app.controller('addController', ['$scope', '$routeParams','$location',
function ($scope, $routeParams,$location) {
console.log($routeParams);
}]);
您可以创建一个函数,该函数接受$routeParams对象,并根据需要重新创建查询参数您可以尝试状态。对于此类导航,请转到 此示例将简化您的代码
您可以始终使用window.location对象,该对象具有所需的所有必要属性。实际上,它应该只返回
/faaaaccept
。为什么要返回查询参数?你读过这个方法的文档了吗?如果没有,则执行.From docs:$location.path()=>在调用时不带任何参数返回当前url的路径。使用$windows.location似乎是唯一显示完整url的方法。我在$location上有一个断点,没有一个选项的url被截断。嗯,问题是我的系统正在生成复杂的url,这些url保存在字符串中,用于重新加载系统状态,因此我需要能够从url获取查询参数,在我升级一些库之前,它100%工作正常。使用$window.location是唯一允许我获取完整url的方法。$location中的每个url都只有一个简短的版本,并且所有查询婴儿车都已剥离。我完全不知道为什么。嗯,我尝试了以下方法:var absUrl=$location.absUrl();var ewer=$location.path();var ewer=$location.url();所有返回的url都没有查询参数。使用$windows.location似乎是唯一显示完整url的东西。
app.controller('addController', ['$scope', '$routeParams','$location',
function ($scope, $routeParams,$location) {
console.log($routeParams);
}]);