Django - пустые данные сеанса в запросах ajax - PullRequest
5 голосов
/ 26 апреля 2010

У меня есть представление 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()  

Я получаю эти две надписи на оболочке:

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

Почему данные сеанса, которые я установил в представлении ajax, не передаются в мои обычные представления? Если я устанавливаю данные сеанса в обычном представлении, все работает нормально, но кажется, что запросы ajax содержат пустые данные сеанса? Кто-нибудь имел дело с чем-то подобным раньше? Любые предложения с благодарностью. Благодарю.

1 Ответ

5 голосов
/ 08 августа 2010

У меня была такая же проблема сегодня. Хотя я не думаю, что ОП все еще ждет ответа через 3 месяца :-), это может помочь другим.

Я отправлял Ajax-запросы вот так ... $.ajax({url: '<a href="http://localhost:8000/testgame/getTime/" rel="noreferrer">http://localhost:8000/testgame/getTime/</a>', async: false, dataType: 'text', success: function(text) { time = new Date(text); }, error: function(http, message, exc) { time = new Date(); }});

... и доступ к приложению в Firefox следующим образом: <a href="http://127.0.0.1:8000/game/config/" rel="noreferrer">http://127.0.0.1:8000/game/config/</a>

И проблема была в том, что localhost и 127.0.0.1 не совпадают в этом случае!

...