2017-10-05 108 views
0

我需要在多个域(跨域的cookie)上设置一个cookie。 为了做到这一点,我做了一个创建cookie的django服务器。 然后,我需要从其他域中“读取”我称之为django cookie服务器的cookie。设置一个cookie(django)并获得它的值

如果我通过img调用它,则cookie已设置好。但有了这张图片,我无法访问cookie。 我试着用一个javascript脚本,例如:

function httpGet(theUrl) 
{ 
    var xmlHttp = new XMLHttpRequest(); 
    xmlHttp.open("GET", theUrl, false);request 
    xmlHttp.send(null); 
    return xmlHttp.responseText; 
} 

但每次我把这种fonction时候,一个新值的cookie给定(它不把我的浏览器cookie的)。有没有办法实现我想要的?用javascript请求获取此cookie值?

感谢,

回答

0

尝试set_cookie()来设置cookie的

说,如果你有一个JSON响应json_obj

return_obj = HttpResponse(json_obj) 
return_obj.set_cookie("custom_cookie_name", custom_cookie_value) 
return return_obj 

要验证的请求定制的cookie,试图

if request.COOKIES.has_key("custom_cookie_name"): 
    print "has custom cookie" 

要获取cookie值,请尝试

custom_cookie = request.COOKIES.get('custom_cookie_name') 
+0

谢谢,但我知道如何用django设置cookie。但我需要从另一个域获取它的值,并带有javascript请求。似乎如果我通过JavaScript来执行请求,则Django服务器无法识别cookie(因此无法识别浏览器)。谢谢! :) –

+0

我不认为你可以从另一个域使用JavaScript获取cookie。这将违反跨域限制。 –

+0

是的,但应该可以读取cookie(由django服务器)并通过get请求返回它的值? –