简体   繁体   English

使用Angular JS搜索URL参数

[英]Search URL parameters with Angular JS

Say I have a URL like this: 假设我有这样的网址:

www.mysite.com?account=23&token=asdu756sdg65sdf

Now, I need to access those URL parameters individually using Angular JS . 现在,我需要使用Angular JS单独访问这些URL参数。

I've tried using location.search inside my controller: 我尝试在控制器中使用location.search

console.log(location.search);

Which nicely returns the full query string: 可以很好地返回完整的查询字符串:

?account=23&token=asdu756sdg65sdf

But it seems to return a string, not an object. 但是它似乎返回一个字符串,而不是一个对象。 Is there an easy way to access the individual ids and values in the string? 是否有一种简单的方法来访问字符串中的各个ID和值?

I've also tried: 我也尝试过:

console.log($location.search());

Which seems to return an empty object. 这似乎返回一个空对象。

Try with 试试看

var account = ($location.search()).account;

but the url should be like /#!/?account=1 但网址应类似于/#!/?account = 1

您是否尝试过将其用作功能?

$location.search();

pure js way: 纯js方式:

var getParamFromURL = function(_url) {
    var url = _url;
    var _paraString = url.indexOf("&") > -1 ? url.substring(url.indexOf("?") + 1, url.length).split("&") : url.substring(url.indexOf("?") + 1, url.length).split('');
    var _paraObj = {};
    for (i = 0; p = _paraString[i]; i++) {
        _paraObj[p.substring(0, p.indexOf("=")).toLowerCase()] = p.substring(p.indexOf("=") + 1, p.length);
    }
    return _paraObj;
}

via angular js: 通过有角js:

 // Given:
 // URL: http://server.com/index.html#/Chapter/1/Section/2?search=moby
 // Route: /Chapter/:chapterId/Section/:sectionId
 //
 // Then
 $routeParams ==> {chapterId:'1', sectionId:'2', search:'moby'}

Great. 大。 @Cooper is right. @库珀是正确的。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM