我在Web2py中遇到会话对象问题。在localhost上,下面的代码运行得非常好。Session对象存储我需要的内容。但是,一旦我这样运行它:
$python web2py.py -i <myhomeip>
会话对象始终为“无”。我穿上了会话。清除(),但前提是发送了电子邮件,而代码在此之前就失败了。会话不创建/不存在怎么可能?你知道吗
Ajax调用此函数:
def generateCart():
session.orderdetail = request.vars;
print "in generateCart() session is", session.orderdetail;
return None;
然后函数cart()访问会话:
print "in cart() session.orderdetail", session.orderdetail;
if (len(session.orderdetail.items()) == 0):
print "in cart() order was empty"
redirect(URL('otherfn'));
pass
lOrderDetail = session.orderdetail;
当我以localhost运行时,这段代码就可以正常工作。当我使用-I运行时,上面的print语句返回None。如果我这样做了
print session
我一个也没有。你知道吗
我没有会话.安全(),暂时不要依赖https。我真的很感激你在这方面的帮助。你知道吗
我想快速回答这个非常棘手的问题,以防有人碰到这个问题。如果主持人认为这不是建设性的:我理解。你知道吗
有几篇文章对我很有帮助。主要是:How do I return the response from an asynchronous call?。以及在这个链接中接受答案的链接。你知道吗
基本上,问题不在于ajax发送了什么,而在于何时发送(非常棘手的问题)。数据到达服务器,但不是在正确的时间。通过投入大量资金控制台.log()”打印语句时,我发现ajax没有出现。会话是在ajax到达之后创建的。你知道吗
问题仍然是为什么在localhost上它可以100%工作,而在public主机上却不能。我想这和环回在localhost上的工作方式有关,但我不能回答这个问题-我不知道。你知道吗
从中得到的教训是:正确掌握基础知识(即ajax)。你知道吗
相关问题 更多 >
编程相关推荐