我有一个跨越子域的jQuery ajax调用,它正常工作,除了它不发送cookie。有没有办法实现这个目标?
答案 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属性,那么这不会起作用吗?