小编典典

jQuery ajax调用未发送cookie

ajax

我有一个跨子域的jQuery ajax调用,该子域可以正常工作,除非它不发送cookie。有什么办法可以做到这一点?


阅读 298

收藏
2020-07-26

共1个答案

小编典典

这听起来像我的预期行为。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中进行设置。

上面是从这里偷的

2020-07-26