【发布时间】:2012-12-22 23:07:56
【问题描述】:
Appengine 1.7.4、webapp2、会话。
会话的配置如文档中所示:http://webapp-improved.appspot.com/api/webapp2_extras/sessions.html#webapp2_extras.sessions.SessionStore
# Some object
def post(self):
logging.error(self.session.get('cart')) #A 1 item
if '_put' in self.request.params:
return self.put()
cart = self.session.get('cart')
# add one item to cart
self.session['cart'] = cart
logging.error(self.session.get('cart')) #B OK, 2 items
return self.redirect(URL)
def put(self):
logging.error(self.session.get('cart')) #C 1 item?!
# some code
return self.redirect(URL)
通过 AJAX 发送两个 POST 请求。
First without _put
- #A - returns 1 item - OK.
- #B - returns 2 items - OK.
Second, POST with _put.
- #A - returns 1 item - why? session was changed?
- #C - as above
请求一个一个地执行(用户点击一次,两个请求)。任何想法为什么会发生这种情况?
如果我只运行第一个请求(没有 _put)并刷新页面 - 会话保存正确。
从 webapp (1.x) 和 Python 2.5 迁移后开始出现问题。
感谢您的任何建议。
【问题讨论】:
标签: ajax google-app-engine session webapp2