POSTの取得方法
参考元
アダプターのインストール
AstroでPOST受信をする場合、SSR(サーバサイドレンダリング)に設定を変更しなければいけない為、その設定を有効化できるようアダプターをインストールする
// npm
npx astro add vercel
// pnpm
pnpm astro add vercel
// Yarn
yarn astro add vercel
SSRを詳しく知りたい人は、ブラウザ検索してね♪
ここおすすめ
設定有効化
SSRを有効化して、サーバ側でレンダリングしてもらうようにちょいと、設定変更・追加をする
// astro.config.mjs
output: 'hybrid',
// POST受信したいサイトの先頭に
export const prerender = false;
POSTを取得する
POSTを取得したい、Astroファイルを開いて下のような感じで記述する
エラー判定とかも記述した方がいいが、僕の場合formからの取得だから、まぁいいやろってなった
でも、エラー判定を記述することをお勧めする
let name: FormDataEntryValue = '';
let email: FormDataEntryValue = '';
let content: FormDataEntryValue = '';
if(Astro.request.method === "POST"){
try {
const data = await Astro.request.formData();
name = data.get("name");
email = data.get("email");
content = data.get("content");
}catch(error){
console.error(error)
}
}