次のように PHP を使用して Cookie を設定するドメイン (example.com) があります。
$source = 123;
setcookie("source", $source, time()+3600, '/', ".example.com");
この Cookie をサブドメイン間で共有したいと考えています。「sub.example.com/index.php」に移動して、次の PHP コードを実行すると:
echo $_COOKIE['source'];
...正しい出力が得られます: 123. よし!
私が抱えている問題は、jQueryを使用して「sub.example.com」へのajax呼び出しを行うと、Cookieが出力されないことです。空っぽです。
$.ajax({
type: "POST",
url: 'http://sub.example.com/index.php',
dataType: "text",
error: function(jqXHR,textStatus,errorThrown) {
},
success: function() {
// DOES SOMETHING
}
});
サブドメインにまたがる ajax と Cookie について私が知らないことはありますか?
(上記の Ajax 呼び出しが何もしないことは承知しています。実際のコードでは、サブドメインのページが COOKIE 値をデータベースに書き込みます。ページをブラウザーに直接読み込むと、データベースはajax からページを読み込むと、データベース エントリは更新されますが、すべての値が空になります。)