【问题标题】:Go back to previous page without losing data [closed]在不丢失数据的情况下返回上一页[关闭]
【发布时间】:2020-03-20 00:23:12
【问题描述】:

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

【问题讨论】:

  • 看来您需要一个服务器端组件,或者您可以将用户选择存储在localStorage
  • 你可以尝试使用cookies。
  • 我可以举个例子吗?
  • 你可以去看看对你有没有帮助stackoverflow.com/questions/58777531/…

标签: javascript html history


【解决方案1】:

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

在第一页

  <a onclick="setCookie()">page 2</a>

Javascript:

function setCookie(){
    document.cookie = "filter=value";
}

要检索第二页上的数据,您可以使用

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...",格式如下。您现在需要的只是字符串操作并提取您需要的值。提取函数执行此特定任务。

它使用; 分割字符串,将每个cookie 分隔为数组["filter=value","key1=value1",...]" 的元素。

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

“确保使用 localhost 服务器,因为 cookie 不适用于常规离线页面。”

您应该更多地研究浏览器如何处理 cookie,并且不要在 cookie 中存储敏感信息,这样做不是一个好习惯。

希望这有帮助....

【讨论】:

    【解决方案2】:

    您必须使用会话。所以你可以在后端使用 Nodejs。

    【讨论】:

      猜你喜欢
      • 2023-04-05
      • 2021-05-18
      • 2016-01-19
      • 1970-01-01
      • 2012-10-28
      • 2011-07-29
      • 2018-10-09
      • 2013-02-26
      • 2016-06-19
      相关资源
      最近更新 更多