前提・実現したいこと
Golang(echo)とReact間でaxiosを使ったpostの送受信を行おうとしています。
golangはdocker上で動作させています。
chromeで送信をすると、net::ERR_EMPTY_RESPONSE
とのエラーが表示されてしまい、
サーバーサイドからのレスポンスもありません。
どのように対処したら良いのでしょうか。
GETの場合は問題なく送受信ができています。
####chromeのコンソールに出力された内容
POST http://localhost:8080/xxxxxxxx net::ERR_EMPTY_RESPONSE createError.js:16 Uncaught (in promise) Error: Network Error at createError (createError.js:16) at XMLHttpRequest.handleError (xhr.js:117)
該当のソースコード
js
1import axios from 'axios'; 2import { makeUseAxios } from 'axios-hooks' 3 4const axiosInstance = axios.create({ 5 baseURL: 'http://localhost:8080', 6 withCredentials: true, 7 headers: { 8 'Content-Type': 'application/json;charset=utf-8', 9 'Accept': 'application/json', 10 } 11}); 12export const useAxios = makeUseAxios({ 13 axios: axiosInstance, 14 cache:false 15});
js
1// 上記useAxiosをインポート 2const [{ data, loading, error }, fetch] = useAxios({}, { manual: true, useCache: false }); 3 4// 送信処理 5const postData = async () => { 6 const res = await fetch({url: 'data', method: 'POST', data: {text: 'text'}, headers: {'X-CSRF-Token': 'xxxxxxxxxxx'}) 7 ); 8 9 if (res.status === 200) { 10 } 11 };
go
1// cors設定 2e.Use(middleware.CORSWithConfig(middleware.CORSConfig{ 3 AllowOrigins: []string{"http://localhost:3000"}, 4 AllowMethods: []string{http.MethodGet, http.MethodHead, http.MethodPut, http.MethodPatch, http.MethodPost, http.MethodDelete}, 5 AllowCredentials: true, 6}))
補足情報(FW/ツールのバージョンなど)
go 1.16
echo 4.4.0
react 17.0.2
axios 0.24.0
axios-hooks 2.7.0
axios 使ってない (代わりに fetch を使ってる) ように見えますけど…。
コードには記載していませんでしたが、送信ボタンを押すと、clickイベントで割り当てられたpostDataが起動して送信処理を実行しています。任意のタイミングで実行したいので、manual:trueを設定し、fetchで送信をするような形をとっています。
回答1件
あなたの回答
tips
プレビュー