jquery ajax调用不发送cookie

时间:2011-10-27 04:29:14

标签: jquery ajax

我有一个跨越子域的jQuery ajax调用,它正常工作,除了它不发送cookie。有没有办法实现这个目标?

2 个答案:

答案 0 :(得分:2)

这对我来说听起来像预期的行为。 Cookie是每个域(包括子域)。但我认为你可以用这样的东西强迫它:

$.ajax({
   headers: {'Cookie' : document.cookie },
   url: "sub.domain.com",
   success: function(){ ...

这是完全未经测试的,所以让我知道它是否有效;)

编辑:实际上它看起来根本不可能......看看这里:How do I SET a Cookie (header) with XMLHttpRequest in JavaScript?你可能是SOL

但它认为您可以在php中设置cookie,以便它们在所有子域中有效。像这样:

ini_set('session.cookie_domain', '.example.com')

注意'。'在域之前 - 将为example.com及其所有子域设置cookie。

您可以使用上面的内容在应用中设置session.cookie_domain,也可以在php.ini中设置它。

以上内容是从here

中窃取的

答案 1 :(得分:0)

如果您使用支持CORS的浏览器并设置withCredentials属性,那么这不会起作用吗?

请参阅HTTP Cookies and Ajax requests over HTTPS