2020/7/28 JavaScript

fetchでクッキーを使用する方法

fetch(url, {
        method: "POST", // *GET, POST, PUT, DELETE, etc.
        credentials: "same-origin", // include, same-origin, *omit
})

*は規定のオプション

credentialsの値を設定する

omit: クッキーを送信しない

same-origin: 同一オリジンだった場合のみクッキーを送信する

include: クロスオリジンでもクッキーを送信する

https://developer.mozilla.org/ja/docs/Web/API/Request/credentials

クロスドメインの場合のサーバー側設定

PHPの場合

header("Access-Control-Allow-Origin: " . URL);
header("Access-Control-Allow-Headers: Content-Type");
header("Access-Control-Allow-Credentials: true");

Access-Control-Allow-Credentialsを「true」にする

Access-Control-Allow-Credentialsを「true」にした場合はAccess-Control-Allow-OriginとAccess-Control-Allow-Headersに*が使用できなくなる

https://developer.mozilla.org/ja/docs/Web/HTTP/CORS

https://developer.mozilla.org/ja/docs/Web/HTTP/Headers/Access-Control-Allow-Origin

https://developer.mozilla.org/ja/docs/Web/HTTP/Headers/Access-Control-Allow-Headers