使用Angular JS搜索URL参数

Search URL parameters with Angular JS

本文关键字:URL 参数 搜索 JS Angular 使用      更新时间:2023-09-26

假设我有一个这样的URL:

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

现在,我需要使用Angular JS单独访问这些URL参数。

我已经尝试使用location.search在我的控制器:

console.log(location.search);

返回完整的查询字符串:

?account=23&token=asdu756sdg65sdf

但是它似乎返回一个字符串,而不是一个对象。是否有一种简单的方法来访问字符串中的单个id和值?

我也试过了:

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

返回一个空对象

Try with

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

但是url应该是/#!/?账户= 1

您是否尝试过将其用作函数?

$location.search();

纯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;
}

通过angular 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'}

好了。@Cooper是对的