我有一个跨子域的jQuery ajax调用,该子域可以正常工作,除非它不发送cookie。有什么办法可以做到这一点?
这听起来像我的预期行为。Cookies是每个域(包括子域)。但是我认为您可以通过以下方式强制使用:
$.ajax({ headers: {'Cookie' : document.cookie }, url: "sub.domain.com", success: function(){ ...
这是完全未经测试的,所以让我知道它是否有效;)
编辑 :实际上看起来根本不可能…看这里:如何在JavaScript中使用XMLHttpRequest设置Cookie(标头)?你可能是SOL
但是它认为您可以在php中设置cookie,以便它们在您所有子域中均有效。像这样:
ini_set('session.cookie_domain', '.example.com')
注意“。” 在网域之前-会将cookie设置为example.com及其所有子域。
您可以使用上述方法在您的应用中设置session.cookie_domain或在php.ini中进行设置。
上面是从这里偷的