隐藏网址中存在的参数,无需重新加载网页

时间:2018-03-09 03:29:48

标签: javascript angularjs

实际上我认为我的问题超出了问题的主旨。我必须在我的页面上的某些超链接中包含以下链接。

此链接将在同一页面上打开一个登录表单(此表单来自政府公司,我没有开发它,这是验证自己的唯一方法。)

<a href="https://xxxxxxxx.gov.co/xxxx/xxxx/xxxx/xxxx/SignIn.aspx?ReturnUrl=http://localhost:8010/fiapp/#!/home">autenticate</a>

ReturnUrl =我的网页实际

这是我的观点之路:

http://localhost:8010/fiapp/#!/home"

当我成功完成身份验证后,它会将我重定向到我的页面。 (参见参数ReturnUrl

当我进行身份验证时,它会将我重定向到我的上一页,区别在于我在浏览器的网址中获得了一个名为:&#39; SessionID&#39;

http://localhost:8010/fiapp/?_=1&SessionID=xxxx-xxxx-xxx-xxxx-xxxxx#!/home

我打算当我重定向到我的网站时,不要在网址中显示此信息,出于安全问题,我想知道如何在没有用户看到它的情况下以某种方式保存此代码。

如果有人可以给我重新考虑问题名称的想法,欢迎您提出意见。非常感谢,我试图让自己明白。

1 个答案:

答案 0 :(得分:0)

HTML5引入了history.pushState()和history.replaceState()方法,允许您分别添加和修改历史条目。

如果您的链接为https://website.com/foo.html 然后,这会导致网址栏显示https://website.com/bar.html,但不会导致浏览器加载bar.html甚至检查bar.html是否存在。

var stateObj = { foo: "bar" }; history.pushState(stateObj, "A title for the page", "bar.html");

您案件的另一个例子:

history.pushState("fiapp", "Title", "/fiapp/#!/home");