gpt4 book ai didi

angularjs - $location.search() 不起作用

转载 作者:行者123 更新时间:2023-12-02 11:29:37 25 4
gpt4 key购买 nike

更新2:

$location 仅供 ng 使用。所以 $location.search 是 ng 的搜索它从 ##! 等标记解析 url。

但是 $window.location 处理浏览器URL

在我的问题中,第一个 url 的 ng 搜索为空第二个网址的 ng 搜索是 {code & state}

是吗?

更新1:

我发现 *$window.location* 得到了正确的数据。*$location* 是否会覆盖所有内容?

问题我在我的项目中使用 angular-ui-router 。我想从 url 获取搜索字符串,像这样:http://localhost:8080/?code=123456&state=auth#/api/oauth2_authorizeapp.config中,我设置:

$stateProvider.state("oauth2_authorize", {
url: "/api/oauth2_authorize?code&state",
template: "",
controller: function($location) {
var search = $location.search();
}
})

我认为搜索将是 { code : 123456; state:auth} 但不是。我尝试将网址更改为:http://localhost:8080/#/api/oauth2_authorize?code=123456&state=auth并且它有效。

有人可以告诉我为什么吗? html5modefalse。我检查了 angularjs 的文档,$location 的示例表明,我可以从 both url 获取搜索字符串。我尝试使用 $urlRouterProvider ,但它仍然是空的。

我能做什么?

最佳答案

因为,如果您将 html5mode 设置为 false,则所有网址都需要有 #。即使在您的 url 状态中您没有 #

正因如此http://localhost:8080/?code=123456&state=auth#/api/oauth2_authorize 不起作用,并且http://localhost:8080/#/api/oauth2_authorize?code=123456&state=auth确实如此。

检查 angularjs docs 中的 $location 和网址

关于angularjs - $location.search() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28079873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com