前提
Next.jsでAPI Routerにサーバーを立てそこに向けてaxios通信をしている
headerにcookieという名前で値を付与しているが、そもそもそのやり方が正しいのかわからない
実現したいこと
Axiosでcookieを送りたい
ディベロッパーツール→ネットワークのところにcookieのタブを表示させたい
発生している問題・エラーメッセージ
axiosの設定でwithCredentials:trueにしても何も起こらない
フロント側から通信した場合
**Refused to set unsafe header "cookie"**というエラーでheaderに付与したcookieが送れない
サーバーサイドで通信した場合
headerに付与したcookieの値は送れている
該当のソースコード
フロント側で通信した場合(headerのcookieは送れない)
useEffect(()=>{ axios.defaults.withCredentials=true axios({ method:'POST', url:'/api/maker', headers:{cookie:'ttttt',withCredentials:true}, withCredentials:true }) .then(e=>{ console.log(e.data) ) }) },[])
サーバサイドで通信した場合(headerのcookieは送れているパターン)
export const getServerSideProps = async ( context: GetServerSidePropsContext, ) => { const create:AxiosInstance = axios.create({ baseURL: 'http://localhost:3000', headers:{cookie:'ttttt',withCredentials:true}, method:'POST', withCredentials:true }) const res=await create({ url:'/api/maker', withCredentials:true }).then((e)=>e) return {props:res.data} }
試したこと
フロントとサーバー側の両方で通信をすること
header内・外にwithCredentials:trueを記載すること
axios.defaults.withCredentials=trueで設定をすること
そもそもローカルホストだとcookieが使えないのでしょうか?
ご回答よろしくお願い致します
回答1件
あなたの回答
tips
プレビュー