AJAXリクエストでCookieの値を設定したいのですが、以下のコードは機能しません。
$.ajax({
type: "GET",
url: "http://example.com",
cache: false,
setCookies: "lkfh89asdhjahska7al446dfg5kgfbfgdhfdbfgcvbcbc dfskljvdfhpl",
crossDomain: true,
dataType: 'json',
success: function (data) {
alert(data);
});
ヘッダーにCookieを設定するにはどうすればよいですか?
基本的に、Ajaxリクエストと同期リクエストはドキュメントCookieを自動的に送信します。そのため、リクエストではなくドキュメントにCookieを設定する必要があります。ただし、リクエストはクロスドメインであり、事態はより複雑になりました。 この回答 に基づいて、さらにドキュメントCookieを設定するには、クロスドメイン環境への送信を許可する必要があります。
type: "GET",
url: "http://example.com",
cache: false,
// NO setCookies option available, set cookie to document
//setCookies: "lkfh89asdhjahska7al446dfg5kgfbfgdhfdbfgcvbcbc dfskljvdfhpl",
crossDomain: true,
dataType: 'json',
xhrFields: {
withCredentials: true
},
success: function (data) {
alert(data);
});