跨域Ajax在Google App Engine上调用和维护会话

时间:2011-04-01 22:20:13

标签: ajax google-app-engine session gwt cross-domain

我最近经历了一系列纠结,使得跨域ajax调用GAE应用程序并且它工作得很漂亮,但是,我正在尝试设置一个http会话ID,在进行所述服务调用时它工作正常,除了每次执行请求时,会话再次为空。我假设这是因为ajax调用而不是通过http发出请求?我怎么能这样做呢?

1 个答案:

答案 0 :(得分:3)

会话跟踪通常使用Cookie完成。如果您使用跨源资源共享(http://www.w3.org/TR/access-control/),则默认情况下,cookie不会包含在请求中。要将cookie与您的请求一起发送,请将以下内容添加到您的XmlHttpRequest:

var xhr = new XmlHttpRequest();
if ("withCredentials" in xhr) {
  xhr.withCredentials = "true";
}