AJAX請求是客戶端。使用IE的客戶端#1訪問您的站點並處理任何客戶端代碼,這是一個會話的所有部分。使用Safari的客戶端#2擊中您的站點並處理任何客戶端代碼,這是另一個會話的所有部分。
除非您生成會話ID,否則在JavaScript中本地不存在可用的會話ID。如果可以,爲了唯一性,最好從服務器端生成或獲取會話標識。如果沒有,您可以使用像this這樣的方法。
如果你使用PHP,你可以這樣做:如果您使用ASP.NET
var data1 = 'asdf';
var sessionId = '<?php echo session_id(); ?>';
$.ajax({
url: 'http://differentdomain.com/ajax',
data: 'data1=' + data1 + '&sid=' + sessionId
});
,你可以這樣做:
var data1 = 'asdf';
var sessionId = '<% =Session.SessionId %>';
$.ajax({
url: 'http://differentdomain.com/ajax',
data: 'data1=' + data1 + '&sid=' + sessionId
});
如果[一些Java的Web服務器(如Tomcat),你可以:
var data1 = 'asdf';
var sessionId = '<% session.getId() %>';
$.ajax({
url: 'http://differentdomain.com/ajax',
data: 'data1=' + data1 + '&sid=' + sessionId
});
你能澄清「起源」嗎?你的意思是不同的域名?如在跨域請求中一樣?或者只是在同一個域上的其他位置? – zombat 2010-04-07 02:48:36
你能舉一個你想要做什麼的例子嗎? – 2010-04-07 02:48:55
如果請求具有不同的來源,那麼您還需要將請求相互關聯嗎? – 2010-04-07 02:54:33