gpt4 book ai didi

javascript -/和/#/有什么区别?

转载 作者:行者123 更新时间:2023-11-30 16:39:51 24 4
gpt4 key购买 nike

为了学习 AngularJS,我正在做一个小项目。这个项目有两个页面“/”和“/login”。因此,当未通过身份验证时,它会重定向到“/login”,如果通过身份验证则重定向到“/”。身份验证过程由 NodeJS 服务器处理并且有效。我在 Controller 中实现了一个简单的身份验证。

if ((typeof $scope.token === "undefined") || ($scope.token == null))
$location.path("/login");
else
$location.path("/");

这段代码,当我未通过身份验证并访问“/”时将我重定向到“/login”,但是当我访问“/#/”时它显示“/”的内容,即使我没有已通过身份验证。

所以我想知道“/”和“/#/”之间是否有区别,为什么会这样?

最佳答案

带有 #<anything> 的 URL对浏览器来说是本地的,哈希和它之后的任何内容都不会根据请求发送到服务器,当附加或更改哈希时也不会重新加载页面。它对于可以直接在 URL 中共享的客户端触发器很有用。

在本地,您可以使用 location.hash 访问它的值(但在你的情况下,它只是 "/" )

所以区别在于一个是你的 /没有哈希的 URL,和 /#/是你的 URL 的哈希值是 "/"因为它的值(value)。

关于javascript -/和/#/有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32161796/

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