栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Google App Engine上使用Python发送JSON格式的Cookie数据?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Google App Engine上使用Python发送JSON格式的Cookie数据?

我还想读取客户端上的cookie(已在服务器上设置)。我通过base64编码JSON字符串解决了这个问题,但是这种方法也涉及一些小问题。

1:base64字符串以0-2等号结尾,这些正被转换为字符串 075。我的方法是在客户端上将这些字符还原为相等的字符。

2:base64字符串在cookie中用双引号引起来。我在客户端上删除了这些。

服务器:

nav_json = json.dumps(nav_data)nav_b64=base64.b64enpre(nav_json)self.response.set_cookie('nav_data', nav_b64)

客户:

var user_data_base64= $.cookie('nav_data');// remove quotes from around the stringuser_data_base64 = user_data_base64.replace(/"/g,"");// replace 75 with =user_data_base64 = user_data_base64.replace(/\075/g,"=");var user_data_enpred=$.base64.depre( user_data_base64 );var user_data = $.parseJSON(user_data_enpred);

我在这里使用2个jquery插件:https :
//github.com/carlo/jquery-base64 和
https://github.com/carhartl/jquery-
cookie


注意:我认为这是一个hack:最好重新实现以javascript编码cookie的python代码,但是这样做还有一个缺点,您需要注意并移植和更改该代码。

现在,我转到了一个解决方案,在该解决方案中,我使用一个小的html文件在客户端设置了cookie,然后重定向到所请求的实际页面。这是我正在使用的JINJA2模板的摘录:

<script type="text/javascript">var nav_data='{% autoescape false %}{{nav_data}}{% endautoescape %}';$.cookie('nav_data', nav_data, { path: '/' });window.location.replace("{{next}}")</script>

注意2:对于我的用例来说,cookie不是理想的选择,我可能会继续使用Session或Local
Storage来减少网络开销(尽管我的nav_data很小,大约是十二个字符)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/404604.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号