我已經搜索jQuery論壇,stackoverflow,谷歌,bing,甚至雅虎w/o成功。 每10秒我想通過這個jQuery片段加載從logservlet servlet的文本數據:JQuery jsession cookie不發送到服務器
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
var autorefresh = setInterval(function() {
$.ajax({
url : "logservlet?devkey=chat",
success : function(data) {
$("#log_ta").append(data);
}
});
}, 10000);
</script>
問題是,在服務器端,我不看,我嘗試跟蹤有效會話會話屬性。這個問題似乎與在JQuery的http請求頭中缺少「Cookie JSESSIONID = xxxxxxxxxxxxxxxxxxxxxxxxxxx」有關。我得到的響應頭從服務器,與JSESSIONID始終保持需求改變:
Server Apache-Coyote/1.1
Set-Cookie JSESSIONID=9EEAFA2A933E7742D8FEDADD5345B76D; Path=/CumulusServer
Content-Length 0
Date Fri, 23 Mar 2012 13:02:08 GMT
但是JQuery的不隨後使用它,這裏的請求頭:
Host 192.168.1.11:8080
User-Agent Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0
Accept */*
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip, deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection keep-alive
X-Requested-With XMLHttpRequest
Referer http://192.168.1.11:8080//CumulusServer/
有什麼問題這裏? 「$ .ajax」調用不是會話感知?或者我錯過了一些管道代碼來在每個ajax請求中手動硬編碼JSESSIONID?是這樣,這應該是什麼樣子?順便說一句,當我從網頁瀏覽器調用相同的url時,JSESSIONID頭被髮送到服務器!
感謝, D.