Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.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_Html_History - Fatal编程技术网

Javascript 返回上一页而不丢失数据

Javascript 返回上一页而不丢失数据,javascript,html,history,Javascript,Html,History,我有两个网页“Page_1.html”和“Page_2.html”。 在第一页中,用户输入一些过滤器(选择值、输入值等)。 我们从第一页进入第二页。 当从第二页返回到第一页时,我想保存用户最初输入的过滤器。 谢谢您必须使用会话。因此,您可以在后端使用Nodejs。Cookies最适合做这些事情。这就是你可以实现它的方式 在第一页 <a onclick="setCookie()">page 2</a> 要检索第二页上的数据,可以使用 var x = document.

我有两个网页“Page_1.html”和“Page_2.html”。 在第一页中,用户输入一些过滤器(选择值、输入值等)。 我们从第一页进入第二页。 当从第二页返回到第一页时,我想保存用户最初输入的过滤器。
谢谢

您必须使用会话。因此,您可以在后端使用Nodejs。

Cookies最适合做这些事情。这就是你可以实现它的方式

在第一页

  <a onclick="setCookie()">page 2</a>
要检索第二页上的数据,可以使用

var x = document.cookie; /*  "Key=value;key1=value1..." */

var filter = extract("filter", x);

 function extract(key, cookie){
   var a = cookie.split(";");
   a.forEach((el) => {
       var e = el.split("=");
       if(e[0] == key) {
          return e[1];
       }
   });
 }
document.cookie
将以单个字符串的形式返回所有值
“filter=value;key1=value1…”
,格式如下。现在所需的只是字符串操作和提取所需的值。extract函数执行此特定任务

它使用
拆分字符串
将每个cookie分离为数组的元素
[“filter=value”,“key1=value1”,“…]”

进一步循环数组中的每个元素。我们使用
=
分割值,这会给我们
['filter','value']
。只需将其与所需的键进行比较,如果匹配,就会返回值

请确保使用localhost server,因为Cookie无法用于常规脱机页面

您应该进一步研究浏览器如何处理cookie,不要在cookie中存储敏感信息,这样做不是一个好的做法


希望这会有帮助….

您似乎需要一个服务器端组件,或者您可以将用户选择存储在
localStorage
中,您可以尝试使用cookies。我可以举个例子吗?您可以检查一下,看看这对您是否有帮助
var x = document.cookie; /*  "Key=value;key1=value1..." */

var filter = extract("filter", x);

 function extract(key, cookie){
   var a = cookie.split(";");
   a.forEach((el) => {
       var e = el.split("=");
       if(e[0] == key) {
          return e[1];
       }
   });
 }