async function updateProfile(payload) {
const csrfToken = getCookie("csrftoken");
if (!csrfToken) {
throw new Error("CSRFトークンを取得できませんでした。");
}
const response = await fetch("/api/profile/", {
method: "POST",
credentials: "same-origin",
headers: {
"Content-Type": "application/json",
"X-CSRFToken": csrfToken,
},
body: JSON.stringify(payload),
});
if (!response.ok) {
const message = await response.text();
throw new Error(
`更新に失敗しました: ${response.status} ${message}`
);
}
return response.json();
}
同一オリジンAPIでは、原則としてcredentials: "same-origin"を使います。
外部OriginとのCookie共有が本当に必要な場合だけincludeを検討します。