jQuery .ajax() 呼び出しを使用してブラウザー Cookie を設定しようとしていますが、機能していません。
console.log("before cookies:" + document.cookie);
$.ajax({
dataType: "json",
contentType: "application/json",
url: url,
type: "GET",
processData: false
}).then(function (data) {
console.log("after cookies:" + document.cookie);
});
サーバー側では、システムは応答に Set-Cookie を追加します。
Access-Control-Allow-Headers Origin, X-Requested-With, Content-Type, Accept
Access-Control-Allow-Origin *
Content-Length 63
Content-Type application/json;charset=ISO-8859-1
Expires Thu, 01 Jan 1970 00:00:00 GMT
Set-Cookie myApiKey=testkey;Expires=Wed, 20-Aug-2014 18:11:57 GMT;Max-Age=31536000
出力は空です:
before cookies:
after cookies:
これがこすりです。メイン ページは 1 つのサブドメインにあり、ajax 呼び出しは別のサブドメイン (api.mydomain.com) に対するものです。しかし、サーバー側で CORS ヘッダーを正しく設定したと思います。それはうまくいくはずです。
Firebug は Cookie が設定されていることを報告しますが、どういうわけか外部ページには表示されません。トリックは何ですか?