【问题标题】:GAE sessions disappearing after POST request from JavaScript来自 JavaScript 的 POST 请求后 GAE 会话消失
【发布时间】:2014-05-13 15:40:58
【问题描述】:

我有一个使用会话存储内容的 GAE 应用程序。有一个与之配合使用的 Android 应用程序,发送请求,GAE 在响应时使用会话。现在我正在尝试制作一个与 Android 做同样事情的 JavaScript 客户端。它使用 XMLHttpRequest 将 Ajax 请求(启用了 CORS)发送到 GAE 应用程序。第一个请求顺利通过,但第二个请求 - 它需要从会话中检索对象 - 在尝试从会话中读取时崩溃并出现 NullPointerException。

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

有人知道出了什么问题吗?

【问题讨论】:

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


    【解决方案1】:

    问题是因为它是一个跨域的 Ajax 请求,所以带有会话 ID 的 cookie 没有被保存。为了允许这种情况发生(至少在 Chrome 中),请求需要将 withCredentials 设置为 true。这意味着在服务器端,Access-Control 不允许使用通配符,并且必须将 Access-Control 设置为允许凭据。

    【讨论】:

      猜你喜欢
      • 2012-12-22
      • 2014-11-06
      • 2015-08-20
      • 1970-01-01
      • 1970-01-01
      • 2012-05-16
      • 1970-01-01
      • 2015-03-15
      • 2014-07-26
      相关资源
      最近更新 更多