首页 新闻 搜索 专区 学院

angularjs设置cookie的编码格式与javascript设置cookie的编码格式区别

0
悬赏园豆:50 [已关闭问题] 关闭于 2016-04-25 10:35

我在做的项目中分别涉及到 angularjs 与 javascript 两种前端语句。都需要针对 cookie 信息进行操作。

angularjs 语言设置cookies(angularjs 是自动加密的),代码如下:

$cookieStore.put('realname', result3.realname)

javascript 取出 cookie,代码如下:

var realname = mycookie.get("realname");
var mycookie = {//获取
    get : function(name){
         var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
         if(arr != null) return unescape(arr[2]); return null;
    }
}

取出的却是乱码:

"机构子账号投资方"

 

向各位大神求解其中的玄妙。

问题补充:

数字、字母都没有问题,只有汉字会有乱码的问题。

我觉得问题可能出在两种前端语言针对汉字存储cookie的编码格式

宁与颂的主页 宁与颂 | 初学一级 | 园豆:179
提问于:2016-04-20 10:31
< >
分享
所有回答(2)
0

javascript获取cookie,你最后返回return unescape(arr[2]);   为什么要用unescape解密,你angularjs没有用Escape加密cookie呀?

无影飞絮剑 | 园豆:1155 (小虾三级) | 2016-04-20 11:02

angularjs 是自动加密存到cookie中的,jquery 取出时就需要亲自来解密了。

支持(0) 反对(0) 宁与颂 | 园豆:179 (初学一级) | 2016-04-20 16:29
0

获取为什么不用 $cookieStore.get ?

你页面编码要设置

<meta charset="UTF-8">

Yu | 园豆:12944 (专家六级) | 2016-04-20 11:25

我使用jquery取cookie的页面不能使用angularjs技术了,有原因。

支持(0) 反对(0) 宁与颂 | 园豆:179 (初学一级) | 2016-04-20 16:31

我存cookie和取cookie的页面都有设置 <meta charset="UTF-8">

支持(0) 反对(0) 宁与颂 | 园豆:179 (初学一级) | 2016-04-20 16:31

@那后来呢: 那你存的时候 escape 一下,对应 unescape

支持(0) 反对(0) Yu | 园豆:12944 (专家六级) | 2016-04-20 16:48

@Yu: angularjs 是自动加密存到cookie中的,jquery 取出时我也是解密后取的。

支持(0) 反对(0) 宁与颂 | 园豆:179 (初学一级) | 2016-04-20 16:58

@那后来呢: $cookieStore.put('realname', escape(result3.realname)) 试试这样

支持(0) 反对(0) Yu | 园豆:12944 (专家六级) | 2016-04-20 17:05

@Yu: 朋友,angularjs是自动加密的,再加密又有什么意思呢?

支持(0) 反对(0) 宁与颂 | 园豆:179 (初学一级) | 2016-04-20 17:06

@那后来呢: 那就用 decodeURI 解密 arr[2],不是用 unescape

 

支持(0) 反对(0) Yu | 园豆:12944 (专家六级) | 2016-04-20 17:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册