说我有这样的网址:
www.mysite.com?account=23&token=asdu756sdg65sdf
现在,我需要使用Angular JS单独访问这些网址参数。
我尝试在我的控制器中使用location.search
:
console.log(location.search);
很好地返回完整的查询字符串:
?account=23&token=asdu756sdg65sdf
但它似乎返回一个字符串,而不是一个对象。有没有一种简单的方法来访问字符串中的各个ID和值?
我也尝试过:
console.log($location.search());
这似乎返回一个空对象。
答案 0 :(得分:2)
尝试
var account = ($location.search()).account;
但网址应该像/#!/?account = 1
答案 1 :(得分:0)
您尝试将其用作功能吗?
$location.search();
答案 2 :(得分:0)
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;
}
通过角度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是对的。