Javascript 我在设置cookies时遇到问题

Javascript 我在设置cookies时遇到问题,javascript,cookies,Javascript,Cookies,我正在制作一个模拟的在线订购网站,它需要多值cookies,但我的代码不会保存任何东西。cookie应该包含产品名称、价格和数量。 任何帮助都将不胜感激 function setCookie(cName, cValue, expDate, cPath, cDomain, cSecure) { if (cName && cValue != "") { var cString = cName + "=" + escape(cValue); cString

我正在制作一个模拟的在线订购网站,它需要多值cookies,但我的代码不会保存任何东西。cookie应该包含产品名称、价格和数量。 任何帮助都将不胜感激

function setCookie(cName, cValue, expDate, cPath, cDomain, cSecure) {
   if (cName && cValue != "") {
      var cString = cName + "=" + escape(cValue);
      cString += (expDate ? ";expires=" + expDate.toGMTString(): "");
      cString += (cPath ? ";path=" + cPath : "");
      cString += (cDomain ? ";domain=" + cDomain : "");
      cString += (cSecure ? ";secure" : "");
      document.cookie = cString;
   }
}

function setField(cName, fName, fValue, expDate, cPath, cDomain, cSecure) {

   if (cName  && fName  && fValue != "") {

      var subkey = fName + "=" + escape(fValue);

      var cValue = null;
      var cookies = document.cookie.split("; ");
      for (var i = 0; i < cookies.length; i++) {
         if (cookies[i].split("=")[0] ==  cName) {
            cValue = cookies[i].slice(cookies[i].indexOf("=") + 1);
            break;
         }
      }
     if (cValue) {
         var foundField = false;
         var subkeys = cValue.split("&");
         for (var i = 0; i < subkeys.length; i++) {
            if (subkeys[i].split("=")[0] == fName) {
               foundField = true;
               subkeys[i] = subkey;
               break;
            }
         }
         if (foundField) cValue = subkeys.join("&")
         else cValue += "&" + subkey;
     } else {
         cValue = subkey;
     }
      var cString = cName + "=" + cValue;
      cString += (expDate ? ";expires=" + expDate.toGMTString(): "");
      cString += (cPath ? ";path=" + cPath : "");
      cString += (cDomain ? ";domain=" + cDomain : "");
      cString += (cSecure ? ";secure" : "");
      document.cookie = cString;
   } 
}
函数setCookie(cName、cValue、expDate、cPath、cDomain、cSecure){
如果(cName&&C值!=“”){
var cString=cName+“=”+escape(cValue);
cString+=(expDate?;expires=“+expDate.togmString():”);
cString+=(cPath?;path=“+cPath:”);
cString+=(cDomain?;domain=“+cDomain:”);
cString+=(cSecure?;secure:“);
document.cookie=cString;
}
}
函数设置字段(cName、fName、fValue、expDate、cPath、cDomain、cSecure){
如果(cName&&fName&&fValue!=“”){
var子键=fName+“=”+转义(fValue);
var cValue=null;
var cookies=document.cookie.split(“;”);
对于(变量i=0;i
我在Chrome中试用了您的代码,最新版本为Windows 7:

setCookie('test', 'test')
正如预期的那样,正在设置具有此名称和值的Cookie:

console.log(document.cookie)
产出:

"test=test;....
如果代码在您这边不起作用,我可以假设它是由以下原因引起的:

  • 其他参数的值错误
  • 环境(尝试其他浏览器)

祝你好运

尝试jquery cookie库。读写cookie的简单方法。如何使用:使用多值cookie: