Django - 在ajax请求中清空会话数据

时间:2010-04-26 15:31:46

标签: ajax django session request

我有一个ajax视图,我想设置一个像这样的会话变量:

def upload(request, *args, **kwargs):  
    request.session['test'] = 'test'  
    request.session.modified = True  
    print request.session.items()  

我有另一个正常的观点:

def advertise(request):  
    print request.session.items()  

我将这两个dicts打印到shell:

[('test', 'test')]  
[('_auth_user_backend', 'django.contrib.auth.backends.ModelBackend'), ('_auth_user_id', 26L)]

为什么我在ajax视图中设置的会话数据没有传递给我的常规视图?如果我在常规视图中设置会话数据,一切正常,但似乎ajax请求包含空会话数据?以前有人处理过这样的事吗?任何建议都非常感谢。谢谢。

1 个答案:

答案 0 :(得分:5)

我今天遇到了同样的问题。虽然我不认为OP在3个月后仍在等待答案:-),这可能对其他人有所帮助。

我发出了像这样的Ajax请求......

$.ajax({url: 'http://localhost:8000/testgame/getTime/', 
        async: false, dataType: 'text', 
        success: function(text) { 
            time = new Date(text); 
        }, error: function(http, message, exc) { 
            time = new Date(); 
    }}); 

...并在Firefox中访问应用程序,如下所示:

http://127.0.0.1:8000/game/config/

问题是localhost和127.0.0.1在这种情况下是不一样的!