From dc03e931b194eba9533cd5f20a63667c7e80005b Mon Sep 17 00:00:00 2001 From: Tomiyama Shota Date: Mon, 19 Feb 2024 00:45:18 +0900 Subject: [PATCH] =?UTF-8?q?csrftoken=E5=AE=8C=E6=88=90=E3=80=81=E4=BC=9A?= =?UTF-8?q?=E5=93=A1=E7=99=BB=E9=8C=B2api=E3=82=82=E3=81=86=E3=81=99?= =?UTF-8?q?=E3=81=90=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- fresh.gen.ts | 4 +-- islands/RegisterForm.tsx | 36 +++++++------------------ routes/api/logins/register.js | 45 +++++++++++++++++++++++++++----- routes/api/tako.ts | 2 +- routes/api/token.js | 49 +++++++++++++++++++++++++++++++++++ routes/api/token.ts | 0 util/makedb.js | 4 +-- util/takoFunction.ts | 6 ++++- 8 files changed, 108 insertions(+), 38 deletions(-) create mode 100644 routes/api/token.js delete mode 100644 routes/api/token.ts diff --git a/fresh.gen.ts b/fresh.gen.ts index 39c10d64..75ac0344 100644 --- a/fresh.gen.ts +++ b/fresh.gen.ts @@ -8,7 +8,7 @@ import * as $about from "./routes/about.tsx"; import * as $api_logins_register from "./routes/api/logins/register.js"; import * as $api_oumu from "./routes/api/oumu.ts"; import * as $api_tako from "./routes/api/tako.ts"; -import * as $api_token from "./routes/api/token.ts"; +import * as $api_token from "./routes/api/token.js"; import * as $button from "./routes/button.tsx"; import * as $greet_name_ from "./routes/greet/[name].tsx"; import * as $index from "./routes/index.tsx"; @@ -37,7 +37,7 @@ const manifest = { "./routes/api/logins/register.js": $api_logins_register, "./routes/api/oumu.ts": $api_oumu, "./routes/api/tako.ts": $api_tako, - "./routes/api/token.ts": $api_token, + "./routes/api/token.js": $api_token, "./routes/button.tsx": $button, "./routes/greet/[name].tsx": $greet_name_, "./routes/index.tsx": $index, diff --git a/islands/RegisterForm.tsx b/islands/RegisterForm.tsx index a7b691ae..0966d9dc 100644 --- a/islands/RegisterForm.tsx +++ b/islands/RegisterForm.tsx @@ -19,42 +19,26 @@ export default function RegisterForm({ text, color,tako }: { text: string, color const handleEmailChange = (event: h.JSX.TargetedEvent) => { setEmail(event.currentTarget.value); }; - const handleSubmit = (event: JSX.TargetedEvent) => { + const handleSubmit = async (event: JSX.TargetedEvent) => { event.preventDefault(); alert(email) + const token = await fetch("http://localhost:8000/api/token?origin=http://localhost:8000") + const csrftoken = await token.json(); const data = { - requirements: "temp_register", - userName: username, - mail: email, + requirements: "temp_register", + userName: username, + mail: email, + csrftoken: csrftoken.csrftoken }; - const response = fetch("/api/logins/register", { + const res = await fetch("/api/logins/register", { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify(data), }) - .then((response) => response.json()) - .then((data) => { - console.log(data.status); - if (data.status === "success") { - alert("成功") - //const container = document.getElementById("register-form"); - /* - if (container) { - // - } else { - console.error("Container element not found"); - }*/ - } else if (data.status === "error") { - alert("error") - } else { - alert("error") - } - }) - .catch((error) => { - alert("error") - }); + const response = await res.json() + //レスポンス届いてからの処理 }; return <>