起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3013|回复: 7

[结贴] 使用getCookie获取json对象的问题

[复制链接]

10

主题

37

帖子

90

积分

初级会员

Rank: 2

积分
90
QQ
发表于 2015-11-19 23:18:48 | 显示全部楼层 |阅读模式
代码如下:
var usr= {Id:"asdfafas",Name:"asfasf"};
                        justep.Util.addCookie("currentUser", usr,"/");
                        var user = justep.Util.getCookie("currentUser");

发现取出的user无法识别,显示的是[object object]如下图:


如果存入的不是json,而是string的话,则能正常取出。

请问,addCookie,getCookie是不是不支持json对象?
无标题.png

7

主题

25

帖子

71

积分

初级会员

Rank: 2

积分
71
QQ
发表于 2015-11-20 09:27:30 | 显示全部楼层
cookie只能存字符串的,一般都要转一下。以下我写的代码,可以参考,验证都是OK的。
var cartCookie = justep.Util.getCookie(this.CART_ID);
                        if(cartCookie==null){
                                cartCookie = JSON.parse('{"goods":[]}');
                                cartCookie.goods.push(cartRow);
                        }else{
                                cartCookie = JSON.parse(justep.Base64.decode(cartCookie));
                                cartGoodsArray = cartCookie.goods;
                                var hasGood = false;
                                for(var i=0;i<cartGoodsArray.length;i++){
                                        var curGood = cartGoodsArray[i];
                                        /** 购物车已经存在商品 */
                                        if(curGood.FGoodDetailID==cartRow.FGoodDetailID){
                                                //curGood.FQty = curGood.FQty+1;
                                                hasGood = true;
                                        }  
                                }
                                /** 购物车中还没有此商品 */
                                if(!hasGood){
                                        cartGoodsArray.push(cartRow);
                                }
                               
                        }
                        cartCookie = justep.Base64.encode(JSON.stringify(cartCookie));
                        justep.Util.addCookie(this.CART_ID, cartCookie,"/");
                       
                        var ttt = justep.Util.getCookie(this.CART_ID);
回复 支持 反对

使用道具 举报

10

主题

37

帖子

90

积分

初级会员

Rank: 2

积分
90
QQ
 楼主| 发表于 2015-11-20 12:22:03 | 显示全部楼层
mainckchan 发表于 2015-11-20 09:27
cookie只能存字符串的,一般都要转一下。以下我写的代码,可以参考,验证都是OK的。
var cartCookie = just ...

你的代码可以的。谢谢。
麻烦普及一下:cookie能在下次APP打开时获取到吗?
回复 支持 反对

使用道具 举报

发表于 2015-11-20 12:47:26 | 显示全部楼层
mailkxd 发表于 2015-11-20 12:22
你的代码可以的。谢谢。
麻烦普及一下:cookie能在下次APP打开时获取到吗? ...

应该是可以的!cookie本地就是客户端缓存!当然你最好试验一下!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

7

主题

25

帖子

71

积分

初级会员

Rank: 2

积分
71
QQ
发表于 2015-11-20 17:23:44 | 显示全部楼层
mailkxd 发表于 2015-11-20 12:22
你的代码可以的。谢谢。
麻烦普及一下:cookie能在下次APP打开时获取到吗? ...

justep.Util.addCookie(this.CART_ID, cartCookie,"/");第三个参数path一定要设置,不然下次取不到,我本机调试是这样的,之前不加path,存的时候debugger时,还有,在另外一个地方调用就不行了,加了path参数就OK了。
回复 支持 反对

使用道具 举报

发表于 2015-11-20 17:27:15 | 显示全部楼层
本帖最后由 liangyongfei 于 2015-11-20 17:31 编辑
mainckchan 发表于 2015-11-20 17:23
justep.Util.addCookie(this.CART_ID, cartCookie,"/");第三个参数path一定要设置,不然下次取不到,我 ...

我问过了,答复是:“可以不加路径,不加就是浏览器默认”
你也可以网上搜下:http://blog.csdn.net/hhhh63/article/details/7483561
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

10

主题

37

帖子

90

积分

初级会员

Rank: 2

积分
90
QQ
 楼主| 发表于 2015-11-20 20:18:36 | 显示全部楼层
我自己试的时候一直加的,省得出问题。另外试了cookie在下次启用app时还能取到,可以用来记用户名等。
回复 支持 反对

使用道具 举报

10

主题

37

帖子

90

积分

初级会员

Rank: 2

积分
90
QQ
 楼主| 发表于 2015-11-20 20:19:08 | 显示全部楼层
本帖可以结了。谢谢提供帮助的朋友。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-3 02:42 , Processed in 0.074246 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表