日期:2014-05-18  浏览次数:20370 次

cookie字符串问题(javascript) 【马上给分,在线等待】
var strCookie=document.cookie;
var arrCookie=strCookie.split(";");
var str;

 for(var i=0;i<arrCookie.length;i++)
 {
  //str=str+arrCookie[i];
  if(arrCookie=="cn")
  {
  alert('e');
   
  }
  str=str+arrCookie[i];
 }
return str;

-----------------------------
我的cookie里面明明有 "cn" 这个字符。但是为什么找不到。如果我把它改为cookie里面的数字字符104654687865 就能找到。

就是说,只能 if(arrCookie==104654687865) 只能数字比较,不能字符比较? 我alert 过。完全有“cn ”这个字符的。

什么原因?编码问题??谢谢


------解决方案--------------------
看不太懂楼主的意思
------解决方案--------------------
if(arrCookie=="cn")
{
alert( 'e ');

 } 
arrCookie是数组
------解决方案--------------------
if(arrCookie[i]=="cn") 

alert( 'e '); 



------解决方案--------------------
我的cookie里面明明有 "cn" 这个字符
====>
arrCookie是数组,arrCookie[index]中保存的是用"; "分割的字符串。Cookie的格式是这样的:
name=value; expires=..; path=..; domain=..; secure
分割后就是这样:
name=value
expires=..
path=..
domain=..
secure

怎么可能会等于"cn"呢?
------解决方案--------------------
关注一下.如果7楼说的是正确的.那么楼主与数字比较怎么会正确的.?
------解决方案--------------------
测试一下:
alert(document.cookie),看看显示出来的是什么东西
------解决方案--------------------
if(arrCookie[i]=="cn") 
==>改为:
if (arrCookie[i].indexOf("cn") > -1)

有"cn"并不代码arrCookie[i]就等于"cn"