我正在开发一个应用程序,其初始页面位于:
https://localhost:8443/#/signin
我想从JavaScript执行重定向到以下位置:
https://localhost:8443/admin
为此,我按如下方式编写代码:
location.href = location.origin + '/admin';
然而,当我执行此操作时,页面浏览到:
https://localhost/admin
我也试过location.assign()
同样的结果。
为什么设置location.href
或location.assign()
会从网址中删除端口号?
我可以通过其他方式实现这一目标吗?
答案 0 :(得分:3)
在@ RyanNghiem said时,添加location.port
:
location.href = location.origin + ':' + location.port + '/admin';
检查location.port
是否存在可能是个好主意,以防止在没有端口的情况下添加冒号:
location.href = location.origin + (location.port ? ':' + location.port : '') + '/admin';