前面毕业设计有好几天天天玩cookie,遇到了一些问题,上次系统维护,这回想起来就记录一下;
首先吧,就是cookie的作用域问题,我们在把信息加入cookie的时候别忘了加一个作用域path哦,不然的话,就要浏览器默认就是以你当前发请求的地址作为作用域了,在很多情况下都是无法获取的;
其次就是我们存储在cookie中的数据要经过编码哦,因为cookie不能有特殊字符,比如=号等等;再一个就是我在发请求的时候,把我存在cookie中的信息在后台获取的时候,出现了一个严肃的问题,就是我存储的是对象数组字符串经过encodeURL编码的,这时候在后台获取一直都是只能获取一部分,自习观察,反复琢磨,还是想到了特殊字符的问题;encodeURL主要是针对于我们的url地址进行编码,这个方法不会将请求地址的某些字符进行编码的,比如一个http://这个都是不会经过编码的,所以我就使用了这个方法,导致我在后台取值解码的时候一直都获取不完整。
解决办法: 使用encodeURIComponent方法咯,看看单词组成也不难理解,就是将我们的这个字符串完全编码呗,这时候一测试,哈哈,成功了,最后针对这两个方法的解码方法也是一样的咯。在前台,一个使用decodeURI就可以了,另一个使用decodeURIComponent解码就可以了,在后台就使用 URLDecoder.decode()这个方法就好了,好啦,就说到这里吧