gpt4 book ai didi

javascript - Django 响应将 json 设置为 cookie

转载 作者:行者123 更新时间:2023-11-30 06:13:32 26 4
gpt4 key购买 nike

我想将来自 django 的客户端 cookie 的值设置为 javascript 字典对象。我知道你可以在 django 中设置这样一个字符串的 cookie 值:


response = HttpResponseRedirect( reverse('app:home') )
response.set_cookie( 'cookiekey', 'value' )
return response

然后我可以像这样在客户端读取 cookie:

Cookies.get( 'cookiekey' )

使用 Cookie 库 ( https://github.com/js-cookie/js-cookie )

我无法做的是将 cookie 设置为字典/json 对象:

我试过这个:


response.set_cookie( 'cookiekey', {'value' : 'value'} )

import json
response.set_cookie( 'cookiekey', json.dumps( {'value' : 'value'} ) )

然后尝试使用以下方法在客户端读取 cookie:

Cookies.getJSON( 'cookiekey' )

但这似乎并没有给我返回一个 javascript 字典对象(Cookies.get 也没有)而是一个字符串:

var message = Cookies.getJSON( 'cookiekey' );
alert( typeof message );

最佳答案

在您的 Python 脚本中使用它来设置 cookie:

response.set_cookie("json", json.dumps({"foo":"bar"}))

并在您的 JavaScript 中使用它来获取 cookie,使用 JSON.parse 而不是 Cookies.get:

JSON.parse(Cookies.get( 'json' ))

这对我有用:)

编辑:

如果这是一个问题,请使用 JSON.parse(Cookies.get( 'json' ).split('\\').join(''); 删除所有反斜杠

关于javascript - Django 响应将 json 设置为 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57444972/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com