Django - ajax 请求中的空会话数据
Posted
技术标签:
【中文标题】Django - ajax 请求中的空会话数据【英文标题】:Django - Empty session data in ajax requests 【发布时间】:2011-02-12 11:15:27 【问题描述】:我有一个 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()
我将这两个字典打印到 shell:
[('test', 'test')]
[('_auth_user_backend', 'django.contrib.auth.backends.ModelBackend'), ('_auth_user_id', 26L)]
为什么我在 ajax 视图中设置的会话数据没有传递到我的常规视图?如果我在常规视图中设置会话数据,一切正常,但似乎 ajax 请求包含空会话数据?以前有人处理过这样的事情吗?非常感谢任何建议。谢谢。
【问题讨论】:
只是一点建议。尝试使用 Django 调试工具栏并查看是否可以找到任何关于问题所在的提示。你可以在这里下载:github.com/robhudson/django-debug-toolbar。希望对您有所帮助。 您是否向服务器发送相同的会话 ID(通过 cookie)? 【参考方案1】:我今天也遇到了同样的问题。虽然我不认为 OP 在 3 个月后仍在等待答案:-),但这可能对其他人有所帮助。
我正在发送这样的 Ajax 请求...
$.ajax(url: '@987654321@',
async: false, dataType: 'text',
success: function(text)
time = new Date(text);
, error: function(http, message, exc)
time = new Date();
);
...并像这样在 Firefox 中访问应用程序:
@987654322@
问题是在这种情况下 localhost 和 127.0.0.1 不一样!
【讨论】:
谢谢!我遇到了同样的问题,这让我有点发疯。 :) 哇,不敢相信我在 localhost 和 127.0.0.1 之间的区别上浪费了几个小时......它们应该是一样的 >_ ***.com/questions/37711565/…以上是关于Django - ajax 请求中的空会话数据的主要内容,如果未能解决你的问题,请参考以下文章