JavaScript:如何将其他信息传递给源页面?

时间:2017-03-06 18:27:14

标签: javascript jquery html web hyperlink

我有一个网站,当用户关注内部链接时,我想将一些额外的信息传递给新页面,因此目标页面上的JavaScript可以做一些有用的突出显示。

有一个选项可以通过链接参数(GET)传递该信息,但它会生成大量虚拟重复的页面并打破漂亮的URL概念。另一种方法是使用AJAX创建一个webapp,但它也会将内容绑定到一个URL。

如何在导航期间透明地将某些信息传递到新页面,而不会弄乱网站的网址结构?

4 个答案:

答案 0 :(得分:3)

您可以将数据存储在本地存储或会话存储中,然后在目标页面上再次检索它。

答案 1 :(得分:1)

所以你有几个选择。

表单提交

第一个选项发布带有数据的表单。添加隐藏的表单,在锚点击捕获click事件,使用要发送到下一页的值设置隐藏的字段,然后提交表单。在下一页上,阅读后端的帖子参数并更新页面。

本地存储

单击锚点后,将localStorage设置为您希望在下一页上显示的值。加载下一页时,请读取localStorage值并更新页面。注意:服务器无权访问值

使用pushState的Ajax

使用Ajax提交表单。当Ajax调用返回时,使用window.history.pushState使用您希望向用户显示的任何URL更新URL。

答案 2 :(得分:0)

未提及的其中一个选项是创建 URL:

  

/目的地/的参数1 / <强>值1 / ...

然后在服务器端剥离其他参数并重定向:

  

/目的地

保持在服务器端存储的附加值(例如,通过会话)。我仍然更喜欢在实际应用程序中使用 sessionStorage ,但无论如何都值得一提。

答案 3 :(得分:-1)

你的意思是什么&#34;将内容绑定到一个网址&#34;?作为解决这个问题的解决方案,AJAX请求是我首先想到的。您不必使用页面的url来发出ajax请求,您可以根据应用程序中存在的任何条件在javascript中构建url。

除了AJAX并在URL中传递参数外,我唯一能想到的就是使用Cookies。如果用户禁用了cookie,那当然会遇到问题。我认为对服务器的Ajax调用是解决问题的最有效方法。