Cookie 值始终返回 null
Cookie values consistently returning null
我正在尝试使用提示让某人输入一个值,将该值放入 cookie,然后使用 link 将那个人重定向到第二个页面,他们的 cookie 值将是显示。我 运行 遇到的问题是,无论我输入什么,有问题的 cookie 都会继续返回 null。任何帮助,将不胜感激!
这是一个 Javascript 代码。
第一页(提示页)
<!DOCTYPE html>
<html>
<head>
<title>Event Handlers</title>
<script>
function createCookie(name, value, days, path, domain, secure) {
if (days) {
var date = newDate();
date.setTime( date.getTime() + (days*24*60*60*1000));
var expires = date.toGMTString ();//code
}
else var expires = "";
cookieString = name + "=" + escape(value);
if (expires) cookieString += ";expires=" + expires;
if (path) cookieString += "; path=" + escape (path);
if (domain) cookieString += "; domain=" + escape (domain);
if (secure) cookieString += "; secure";
document.cookie = cookieString
}
function getCookie(name) {
var nameEquals = name + "=";
var crumbs = document.cookie.split(';');
for (var i = 0; i < crumbs.length; i++) {
var crumb = crumbs[i];
if (crumb.indexOf(nameEquals) == 0) {
return unescape(crumb.substring(nameEquals.length, crumb.length));
//code
}
}
return null;
}
function deleteCookie(name) {
createCookie(name,"",-1);
//code
}
</script>
<script>
window.onload = function() {
var cookievalue = prompt("Cookie Value:");
createCookie("myCookieData", cookievalue);
}
</script>
</head>
<body>
<a href="/cookietest2">Go to Cookie Test Page 2</a>
</body>
</html>
第二页(显示 Cookie 页面)
<!DOCTYPE html>
<html>
<title>Cookie Testing</title>
<head>
<script>
function createCookie(name, value, days, path, domain, secure) {
if (days) {
var date = newDate();
date.setTime( date.getTime() + (days*24*60*60*1000));
var expires = date.toGMTString ();//code
}
else var expires = "";
cookieString = name + "=" + escape(value);
if (expires) cookieString += ";expires=" + expires;
if (path) cookieString += "; path=" + escape (path);
if (domain) cookieString += "; domain=" + escape (domain);
if (secure) cookieString += "; secure";
document.cookie = cookieString
}
function getCookie(name) {
var nameEquals = name + "=";
var crumbs = document.cookie.split(';');
for (var i = 0; i < crumbs.length; i++) {
var crumb = crumbs[i];
if (crumb.indexOf(nameEquals) == 0) {
return unescape(crumb.substring(nameEquals.length, crumb.length));
//code
}
}
return null;
}
function deleteCookie(name) {
createCookie(name,"",-1);
//code
}
</script>
<script>
window.onload = function () {
document.getElementById("output").innerHTML = "Your cookie value: " + getCookie("myCookieData");
}
</script>
</head>
<body>
<a href="/hour">Back to Cookie Test Page 1</a><br />
<div id="output"></div>
</body>
</html>
另外,如果有哪位大侠能指点一下如何在第二页添加一个按钮来删除第一页的cookies,也将不胜感激!但现在,我只想弄清楚为什么我的 cookie 一直返回 null。提前致谢!
某些浏览器的本地文件中不允许使用 Cookie。因此,如果您使用的是本地文件 - 尝试将这些文件上传到服务器并重试。适合我。
要添加 cookie 删除按钮,您可以使用:
<input type="button" onClick="deleteCookie('myCookieData')" />
我正在尝试使用提示让某人输入一个值,将该值放入 cookie,然后使用 link 将那个人重定向到第二个页面,他们的 cookie 值将是显示。我 运行 遇到的问题是,无论我输入什么,有问题的 cookie 都会继续返回 null。任何帮助,将不胜感激!
这是一个 Javascript 代码。
第一页(提示页)
<!DOCTYPE html>
<html>
<head>
<title>Event Handlers</title>
<script>
function createCookie(name, value, days, path, domain, secure) {
if (days) {
var date = newDate();
date.setTime( date.getTime() + (days*24*60*60*1000));
var expires = date.toGMTString ();//code
}
else var expires = "";
cookieString = name + "=" + escape(value);
if (expires) cookieString += ";expires=" + expires;
if (path) cookieString += "; path=" + escape (path);
if (domain) cookieString += "; domain=" + escape (domain);
if (secure) cookieString += "; secure";
document.cookie = cookieString
}
function getCookie(name) {
var nameEquals = name + "=";
var crumbs = document.cookie.split(';');
for (var i = 0; i < crumbs.length; i++) {
var crumb = crumbs[i];
if (crumb.indexOf(nameEquals) == 0) {
return unescape(crumb.substring(nameEquals.length, crumb.length));
//code
}
}
return null;
}
function deleteCookie(name) {
createCookie(name,"",-1);
//code
}
</script>
<script>
window.onload = function() {
var cookievalue = prompt("Cookie Value:");
createCookie("myCookieData", cookievalue);
}
</script>
</head>
<body>
<a href="/cookietest2">Go to Cookie Test Page 2</a>
</body>
</html>
第二页(显示 Cookie 页面)
<!DOCTYPE html>
<html>
<title>Cookie Testing</title>
<head>
<script>
function createCookie(name, value, days, path, domain, secure) {
if (days) {
var date = newDate();
date.setTime( date.getTime() + (days*24*60*60*1000));
var expires = date.toGMTString ();//code
}
else var expires = "";
cookieString = name + "=" + escape(value);
if (expires) cookieString += ";expires=" + expires;
if (path) cookieString += "; path=" + escape (path);
if (domain) cookieString += "; domain=" + escape (domain);
if (secure) cookieString += "; secure";
document.cookie = cookieString
}
function getCookie(name) {
var nameEquals = name + "=";
var crumbs = document.cookie.split(';');
for (var i = 0; i < crumbs.length; i++) {
var crumb = crumbs[i];
if (crumb.indexOf(nameEquals) == 0) {
return unescape(crumb.substring(nameEquals.length, crumb.length));
//code
}
}
return null;
}
function deleteCookie(name) {
createCookie(name,"",-1);
//code
}
</script>
<script>
window.onload = function () {
document.getElementById("output").innerHTML = "Your cookie value: " + getCookie("myCookieData");
}
</script>
</head>
<body>
<a href="/hour">Back to Cookie Test Page 1</a><br />
<div id="output"></div>
</body>
</html>
另外,如果有哪位大侠能指点一下如何在第二页添加一个按钮来删除第一页的cookies,也将不胜感激!但现在,我只想弄清楚为什么我的 cookie 一直返回 null。提前致谢!
某些浏览器的本地文件中不允许使用 Cookie。因此,如果您使用的是本地文件 - 尝试将这些文件上传到服务器并重试。适合我。
要添加 cookie 删除按钮,您可以使用:
<input type="button" onClick="deleteCookie('myCookieData')" />