有没有办法从jQuery访问django请求会话cookie?

时间:2012-03-11 15:36:01

标签: jquery django session cookies

我使用jquery-cookie模块从jquery设置/获取cookie。

当我设置Cookie时 - 它是一个会话Cookie,我可以在Chrome的资源标签中看到它。

另一方面,使用reqeust.session [' mycookie'] ='值'在Django中设置cookie。也是会话Cookie,但在Chrome的资源标签中无法显示。

有没有办法使用jquery来访问或设置django会话cookie?

2 个答案:

答案 0 :(得分:3)

如果Cookie为HttpOnly cookie,则您无法使用javascript访问它们。

答案 1 :(得分:2)

此:

  

另一方面,使用request.session['mycookie'] = 'value'在Django中设置cookie也是会话cookie

不是真的。

会话是存储在会话存储中的对象,通常是Django服务器上的数据库表。它为单个会话密钥存储多个值。只有这个会话密钥以cookie的形式存在。这显然具有安全性的双重优势,并且无需在每个请求上传输可能很大的cookie。

您可以从jQuery访问会话密钥,但如果不访问服务器上的会话存储,这对您没有任何帮助。

如果您确实需要这样做,可以使用response.set_cookie从Django设置实际的cookie - 但请仔细考虑这样做的安全性和性能影响。