返回上一页而不丢失数据
Go back to previous page without losing data
我有两个网页 "Page_1.html" 和 "Page_2.html"。
在第一页中,用户输入一些过滤器(select 的值、输入等)。
我们从第一页访问第二页。
当从第二页返回第一页时,我想保存用户最初输入的过滤器。
谢谢
您必须使用会话。所以你可以在后端使用Nodejs。
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
将 return 所有值作为以下格式的单个字符串 "filter=value;key1=value1..."
。您现在需要的只是字符串操作并提取所需的值。提取函数执行此特定任务。
它使用 ;
拆分字符串,将每个 cookie 分隔为数组 ["filter=value","key1=value1",...]"
的元素。
进一步循环数组中的每个元素。我们使用 =
拆分值,得到 ['filter','value']
。只需将它与您想要的键进行比较,如果匹配,将 return 值。
"make sure to use localhost server, as the cookies won't work for regular offline pages."
您应该多了解一下浏览器如何处理 cookie,不要在 cookie 中存储敏感信息,这样做不是一个好习惯。
希望这对您有所帮助....
我有两个网页 "Page_1.html" 和 "Page_2.html"。 在第一页中,用户输入一些过滤器(select 的值、输入等)。 我们从第一页访问第二页。 当从第二页返回第一页时,我想保存用户最初输入的过滤器。 谢谢
您必须使用会话。所以你可以在后端使用Nodejs。
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
将 return 所有值作为以下格式的单个字符串 "filter=value;key1=value1..."
。您现在需要的只是字符串操作并提取所需的值。提取函数执行此特定任务。
它使用 ;
拆分字符串,将每个 cookie 分隔为数组 ["filter=value","key1=value1",...]"
的元素。
进一步循环数组中的每个元素。我们使用 =
拆分值,得到 ['filter','value']
。只需将它与您想要的键进行比较,如果匹配,将 return 值。
"make sure to use localhost server, as the cookies won't work for regular offline pages."
您应该多了解一下浏览器如何处理 cookie,不要在 cookie 中存储敏感信息,这样做不是一个好习惯。
希望这对您有所帮助....