Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript:如何将附加信息传递到源页面?_Javascript_Jquery_Html_Web_Hyperlink - Fatal编程技术网

JavaScript:如何将附加信息传递到源页面?

JavaScript:如何将附加信息传递到源页面?,javascript,jquery,html,web,hyperlink,Javascript,Jquery,Html,Web,Hyperlink,我有一个网站,当用户关注一个内部链接时,我想将一些额外的信息传递到一个新页面,这样目标页面上的JavaScript可以做一些有用的突出显示 有一个选项可以通过link参数(GET)传递这些信息,但它会生成大量实际上重复的页面并打破漂亮的url概念。另一种方法是使用AJAX制作webapp,但它也会将内容绑定到单个URL 在导航过程中,我如何在不干扰网站URL结构的情况下,透明地将一些信息传递到新页面?您认为“将内容绑定到单个URL”是什么意思?作为这个问题的解决方案,AJAX请求是我想到的第一件

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

有一个选项可以通过link参数(GET)传递这些信息,但它会生成大量实际上重复的页面并打破漂亮的url概念。另一种方法是使用AJAX制作webapp,但它也会将内容绑定到单个URL

在导航过程中,我如何在不干扰网站URL结构的情况下,透明地将一些信息传递到新页面?

您认为“将内容绑定到单个URL”是什么意思?作为这个问题的解决方案,AJAX请求是我想到的第一件事。您不必使用页面的url来发出ajax请求,您可以根据应用程序中存在的任何条件在javascript中构建url

除了AJAX和在URL中传递参数之外,我唯一能想到的是使用Cookies。如果用户禁用了cookies,那么当然会遇到问题。我认为对服务器的Ajax调用是处理此问题的最可靠的方法。

您认为它“将内容绑定到单个url”是什么意思?作为这个问题的解决方案,AJAX请求是我想到的第一件事。您不必使用页面的url来发出ajax请求,您可以根据应用程序中存在的任何条件在javascript中构建url


除了AJAX和在URL中传递参数之外,我唯一能想到的是使用Cookies。如果用户禁用了cookies,那么当然会遇到问题。我认为对服务器的Ajax调用是处理此问题最可靠的方法。

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

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

因此您有一些选择

表格提交

第一个选项是发布包含数据的表单。添加一个隐藏表单,在锚定单击上捕获单击事件,使用要发送到下一页的值设置隐藏字段,然后提交表单。在下一页中,读取后端中的post参数并更新页面

本地存储

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

带pushState的Ajax


使用Ajax提交表单。当Ajax调用返回时,使用
window.history.pushState
更新url,使其具有您想要显示给用户的任何url。

因此您有几个选项

表格提交

第一个选项是发布包含数据的表单。添加一个隐藏表单,在锚定单击上捕获单击事件,使用要发送到下一页的值设置隐藏字段,然后提交表单。在下一页中,读取后端中的post参数并更新页面

本地存储

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

带pushState的Ajax


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

未提及的选项之一是创建脏url:

/目的地/参数1/值1/

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

/目的地


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

未提及的选项之一是创建脏URL:

/目的地/参数1/值1/

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

/目的地


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

PostRequest。。。但是,如果用户再次访问该页面(通过带有书签url的get请求),它将不会有数据……这两个页面都在同一个域上吗?@epascarello没问题。关键是这些数据是暂时的。在访问之间不需要保留它。@guest271314是的,它们在同一个域上。使用
sessionStorage
POST request。。。但是,如果用户再次访问该页面(通过带有书签url的get请求),它将不会有数据……这两个页面都在同一个域上吗?@epascarello没问题。关键是这些数据是暂时的。不需要在访问之间保留它。@guest271314是的,它们在同一个域上。使用
sessionStorage
,这是我到目前为止探索的所有选项。这次选择了sessionStorage。这就是我到目前为止探索的所有选项。选择了当时的会话存储。