Javascript中的会话和cookie未存储(不工作)

Javascript中的会话和cookie未存储(不工作),javascript,Javascript,我正在学习JavaScript中的会话和cookies。我有一个表单,它获取一些数据并将其存储在会话和cookies变量中,以显示在另一个页面(第二页)中,如下所示: <html> <body> <form action="second.html" onsubmit="return myFunction();"> Enter a session variable: <input id="sess" type="text" /> </br

我正在学习JavaScript中的会话和cookies。我有一个表单,它获取一些数据并将其存储在会话和cookies变量中,以显示在另一个页面(第二页)中,如下所示:

<html> 
<body> 
<form action="second.html" onsubmit="return myFunction();"> 
Enter a session variable: <input id="sess" type="text" />
</br> 
Enter a coockie variable: <input id="cookiess" type="text" /> 

</br> 
<input type="submit" />
</form> 

<script> 
function myFunction() {
document.cookie = "username="+document.getElementById("cookiess").value + "; expires=Fri, 14 Oct 2016 12:00:00 UTC";
sessionStorage["myKey"] = document.getElementById("sess").value;

return true;
} 

</script>
</body> 
</html> 

输入会话变量:

输入一个coockie变量:
函数myFunction(){ document.cookie=“username=“+document.getElementById”(“Cookies”).value+“expires=Fri,2016年10月14日12:00:00 UTC”; sessionStorage[“myKey”]=document.getElementById(“sess”).value; 返回true; }
这是第二个.html页面:

<html> 
<body> 

<script> 

alert(sessionStorage["myKey"] + document.cookie); 
</script>
</body> 
</html> 

警报(会话存储[“myKey”]+document.cookie);

但是,当我在alert函数中显示session和cookie变量时,它会显示空变量。为什么我的会话和cookies变量不工作

您好如果您想查看会话存储的工作原理,可以查看以下代码。。。 这是一个单一的页面


如果有两个页面,如果您只是从文件://协议运行此文件,那么它将不起作用

  <!DOCTYPE html>
<html>
<head>
<script>
function clickCounter() {
    if(typeof(Storage) !== "undefined") {
        if (sessionStorage.clickcount) {
            sessionStorage.clickcount = Number(sessionStorage.clickcount)+1;
           sessionStorage["myKey"] = sessionStorage.clickcount;
        } else {
            sessionStorage.clickcount = 1;
        }
        document.getElementById("result").innerHTML = "You have clicked the button " + sessionStorage.clickcount + " time(s) in this session."+sessionStorage["myKey"];
    } else {
        document.getElementById("result").innerHTML = "Sorry, your browser does not support web storage...";
    }
}
</script>
</head>
<body>
<p><button onclick="clickCounter()" type="button">Click me!</button></p>
<div id="result"></div>
<p>Click the button to see the counter increase.</p>
<p>Close the browser tab (or window), and try again, and the counter is reset.</p>
</body>
</html>

函数clickCounter(){
if(类型(存储)!=“未定义”){
如果(会话存储。单击计数){
sessionStorage.clickcount=编号(sessionStorage.clickcount)+1;
sessionStorage[“myKey”]=sessionStorage.clickcount;
}否则{
sessionStorage.clickcount=1;
}
document.getElementById(“结果”).innerHTML=“您已单击此会话中的按钮“+sessionStorage.clickcount+”时间。”+sessionStorage[“myKey”];
}否则{
document.getElementById(“结果”).innerHTML=“对不起,您的浏览器不支持web存储…”;
}
}
点击我

单击按钮查看计数器的增加

关闭浏览器选项卡(或窗口),然后重试,计数器将重置


您好如果您想检查会话存储的工作方式,可以查看以下代码。。。 这是一个单一的页面


如果有两个页面,如果您只是从文件://协议运行此文件,那么它将不起作用

  <!DOCTYPE html>
<html>
<head>
<script>
function clickCounter() {
    if(typeof(Storage) !== "undefined") {
        if (sessionStorage.clickcount) {
            sessionStorage.clickcount = Number(sessionStorage.clickcount)+1;
           sessionStorage["myKey"] = sessionStorage.clickcount;
        } else {
            sessionStorage.clickcount = 1;
        }
        document.getElementById("result").innerHTML = "You have clicked the button " + sessionStorage.clickcount + " time(s) in this session."+sessionStorage["myKey"];
    } else {
        document.getElementById("result").innerHTML = "Sorry, your browser does not support web storage...";
    }
}
</script>
</head>
<body>
<p><button onclick="clickCounter()" type="button">Click me!</button></p>
<div id="result"></div>
<p>Click the button to see the counter increase.</p>
<p>Close the browser tab (or window), and try again, and the counter is reset.</p>
</body>
</html>

函数clickCounter(){
if(类型(存储)!=“未定义”){
如果(会话存储。单击计数){
sessionStorage.clickcount=编号(sessionStorage.clickcount)+1;
sessionStorage[“myKey”]=sessionStorage.clickcount;
}否则{
sessionStorage.clickcount=1;
}
document.getElementById(“结果”).innerHTML=“您已单击此会话中的按钮“+sessionStorage.clickcount+”时间。”+sessionStorage[“myKey”];
}否则{
document.getElementById(“结果”).innerHTML=“对不起,您的浏览器不支持web存储…”;
}
}
点击我

单击按钮查看计数器的增加

关闭浏览器选项卡(或窗口),然后重试,计数器将重置


您是否将这两个文件都托管在web服务器上并刷新第二个文件?不,您的意思是这就是原因吗?如果您只是从
文件运行此文件://
协议,它将不起作用cookies是HTTP协议的一部分。当您打开一个本地文件时——它不是HTTP(它是一个file://伪协议),您必须全局设置cookie。您是否将这两个文件都托管在web服务器上并刷新第二个文件?不,您的意思是这就是原因吗?如果您只是从
文件://
协议运行此操作,它将不起作用cookies是HTTP协议的一部分。当您打开一个本地文件时——它不是HTTP(它是一个file://伪协议),您必须全局设置cookie。