2011-04-01 51 views
3

我最近通過一些扭曲的做跨域ajax調用GAE應用程序,它工作得很漂亮,但是,我試圖設置一個http會話id進行服務調用時,它工作正常,除了每次執行請求時,會話都是空的。我假設這是因爲一個AJAX調用,而不是通過http發出請求?我怎麼去解決這個問題?跨域Ajax調用和維護谷歌應用引擎上的會話

回答

3

會話跟蹤通常使用cookie完成。如果您使用跨源資源共享(http://www.w3.org/TR/access-control/),則默認情況下,請求中不包括Cookie。爲了發送cookie與您的請求一起,添加以下到您的XmlHttpRequest:

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

這有幫助。我還必須將_Access-Control-Allow-Credentials_設置爲true。 **它仍然沒有保存會議**,但我認爲這是朝着正確方向邁出的一大步。 – 2011-04-04 18:26:31