从JavaScript发出POST请求后,GAE会话消失

时间:2014-04-02 11:31:35

标签: javascript ajax google-app-engine session session-variables

我有一个使用会话存储内容的GAE应用程序。有一个Android应用程序与它一起工作,发送请求,GAE在响应时使用会话。现在我正在尝试创建一个与Android相同的JavaScript客户端。它使用XMLHttpRequest将GAax请求(启用了CORS)发送到GAE应用程序。第一个请求很好,但是第二个请求 - 它需要从the ession中检索一个对象 - 在尝试从会话中读取时会发生NullPointerException崩溃。

这两个请求是由同一页面发送的,一个是在加载时发送的,另一个是在用户点击按钮时发送的。

任何人都知道出了什么问题?

1 个答案:

答案 0 :(得分:0)

问题在于,由于这是一个跨域Ajax请求,因此未保存具有会话ID的cookie。为了实现这一点(至少在Chrome中),请求需要将withCredentials设置为true。这意味着在服务器端,Access-Control不允许使用通配符,并且必须将Access-Control设置为允许凭据。