如何在angular中访问URL中的查询参数(在hash之外,非html 5模式)

How to access query parameter in URL in angular (outside of the hash, non-html 5 mode)?

本文关键字:之外 html 模式 hash 参数 访问 angular URL 查询      更新时间:2023-09-26

我有一个url:

http://localhost/myapplication?fruit=bannana

当我在浏览器中导航到它时。。。angular将URL更改为以下内容。

http://localhost/myapplication?fruit=bannana#/

我的问题是如何访问"fruit=bannana"?我尝试了$location.search(),但它似乎没有找到水果=bannana。

我需要这样做的原因:$routeParams对我不起作用,因为我使用的身份验证机制在用户转到http://localhost/myapplication/#/fruit=bannana,用户重定向到登录页面,登录后,用户重定向回http://localhost/myapplication/#/(请注意,没有一个标签params被保留下来)。

如果有一些变通办法,那就太好了。locationProvider上的html5模式不适用于我,因为我需要它在IE9中工作。

下面是我用来读取GET变量的js函数

//gets a get variable "variable"'s value from url 
function getUrlVariable(variable)
{
       var query = window.location.search.substring(1);
       var vars = query.split("&");
       for (var i=0;i<vars.length;i++) {
               var pair = vars[i].split("=");
               if(pair[0] == variable){return pair[1];}
       }
       return(false);
}

variableGET变量的名称(在本例中为fruit)。

如果是var x = getUrlVariable('fruit');x将是'banana'

如果你需要更多的解释,请告诉我?