一尘不染

使用AngularJS $ location从URL中的查询字符串获取值

angularjs

关于$ location.search,文档说,

不带任何参数调用时返回当前URL的搜索部分(作为对象)。

在我的网址中,我的查询字符串包含一个不带值的参数’?test_user_bLzgB’。同样,’$
location.search()’返回一个对象。我如何获得实际的文字?


阅读 209

收藏
2020-07-04

共1个答案

一尘不染

自从接受了接受的答案以来,不确定是否已更改,但是有可能。

$location.search()将返回键值对的对象,该对象与查询字符串相同。没有值的键只是作为true存储在对象中。在这种情况下,对象将是:

{"test_user_bLzgB": true}

您可以直接使用 $location.search().test_user_bLzgB

示例(带有较大的查询字符串):http
:
//fiddle.jshell.net/TheSharpieOne/yHv2p/4/show/?test_user_bLzgB&somethingElse&also&something=Somethingelse

注意:由于哈希值(它将转到http://fiddle.jshell.net/#/url,这将创建一个新的小提琴),因此该小提琴在不支持js历史记录的浏览器中将不起作用(将不起作用)在IE
<10中)

编辑:
正如@Naresh和@DavidTchepak的评论中指出的,$locationProvider还需要正确配置:https :
//code.angularjs.org/1.2.23/docs/guide/$location#-location-service-
configuration

2020-07-04