【发布时间】:2009-08-07 03:43:48
【问题描述】:
我在一个页面上使用 Django+Appengine,该页面既有获取页面的普通 HTML 请求,也有使用 jQuery 的 AJAX 请求。在正常请求中,它会很好地加载当前用户和会话信息。但是,对于 AJAX 请求,未设置 self.user 并且 users.get_current_user() 不返回任何内容。
两个处理程序在同一个域中,甚至在同一个 .py 文件中。使用WING IDE调试,两者唯一的区别就是在普通请求中,webob._parsed_cookies被设置为session id,而在AJAX请求中则完全没有设置。虽然,两者都在 request._environ.HTTP_COOKIE 中显示相同的会话 ID。
这让我想到它是一个 AJAX 请求而不是一个 HTML 请求,这让 GAE 不知道加载会话信息。想法?
编辑:对不起,这是我的错。我没有意识到我正在使用用户的自定义用户实现来使其更像 django 而不是 google 用户 - 我跳过了一个步骤,涉及手动从 cookie 中获取会话 id 并查找对应于的活动用户该会话 ID 并将其设置为请求的“用户”实例变量。这就是为什么会话 ID 在请求中但未设置用户对象的原因。
- 列表项
【问题讨论】:
-
我的应用程序有正常的 AJAX 工作。你能显示一些你看到错误发生的代码吗
标签: django google-app-engine jquery