简体   繁体   English

一个 cookie 上的多个值

[英]Multiple values on one cookie

The code I wrote should store multiple user values on one cookie, but for some reason it's not working.我写的代码应该在一个 cookie 上存储多个用户值,但由于某种原因它不起作用。 Can anyone care to explain my mistake?有人能解释一下我的错误吗?

 var delimiter = "#"; function createCookie(name, value, days, path, domain, secure) { if (days) { var date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); var expires = date.toGMTString(); } 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 whole_cookie = document.cookie.split(nameEquals)[1].split(";")[0]; var crumbs = whole_cookie.split(delimiter); } function deleteCookie(name) { createCookie(name, "", -1); } function myCookie() { var name = document.getElementById('name').value; var age = document.getElementById('age').value; var userdata = name + delimiter + age; createCookie("user", userdata); var myUser = getCookie('user'); var myUserArray = myUser.split(delimiter); var cookieName = myUserArray[0]; var cookieAge = myUserArray[1]; alert('The cookie created has the following user information stored on it: \\nName: ' + cookieName '\\nAge: ' + cookieAge); }
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script> Please enter your name <input type=text id='name' /> <br> <br>Please enter your age <input type=text id='name' /> <input type=button value='Go!' onClick='myCookie()' />

There are a couple of mistakes in your code:您的代码中有几个错误:

  1. In getCookie , you forgot to return the value of your cookie !getCookie ,您忘记返回 cookie 的值!

     function getCookie(name) { var nameEquals = name + "="; var whole_cookie=document.cookie.split(nameEquals)[1].split(";")[0]; return whole_cookie; }
  2. You have two inputs with id name , I think you want to rename one of them to age .您有两个带有 id name输入,我想您想将其中一个重命名为age

  3. Make sure your document is fully loaded before you try to execute your Javascript!在尝试执行 Javascript 之前,请确保您的文档已完全加载! Either do that by wrapping your code around document.body.onload = function(){ [your code here] } , or by moving your <script> tag at the end of your document.要么通过将您的代码围绕document.body.onload = function(){ [your code here] } ,要么将您的<script>标签移动到文档的末尾。

  4. You are missing a + between cookieName and '\\nAge' in your alert .你是缺少一个+之间cookieName'\\nAge'在你的alert


 var delimiter = "#"; function createCookie(name, value, days, path, domain, secure) { if (days) { var date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); var expires = date.toGMTString(); } 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 whole_cookie = document.cookie.split(nameEquals)[1].split(";")[0]; return whole_cookie; } function deleteCookie(name) { createCookie(name, "", -1); } function myCookie() { var name = document.getElementById('name').value; var age = document.getElementById('age').value; var userdata = name + delimiter + age; createCookie("user", userdata); var myUser = getCookie('user'); var myUserArray = myUser.split(delimiter); var cookieName = myUserArray[0]; var cookieAge = myUserArray[1]; alert('The cookie created has the following user information stored on it: \\nName: ' + cookieName + '\\nAge: ' + cookieAge); }
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script> Please enter your name <input type=text id='age' /> <br> <br>Please enter your age <input type=text id='name' /> <input type=button value='Go!' onClick='myCookie()' />

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM