前提・実現したいこと
POSTだけが応答が返ってきません。
発生している問題・エラーメッセージ
PostmanでAPI単体テストした際は、すべてのルートで正常に応答が返りOKでした。 作成した画面で検索して表示する際は、GETで投げて正常に表示できます。 更新はPUT、削除はDELETEで投げていてこちらもうまくいきます。 ですが、新規追加のPOSTだけが応答が返ってきません。 ChromeのデバックのNetWorkで監視しますと、 追加時だけしばらく応答が無く、5秒程度すると net::ERR_CONNECTION_REFUSEDが発生して 以下のヘッダ情報が返りステータスはfailedになります。 Request URL: http://localhost:8000/api/machines Referrer Policy: no-referrer-when-downgrade Provisional headers are shown Access-Control-Request-Headers: content-type Access-Control-Request-Method: GET Origin: http://xxx.com:3000 Referer: http://xxxx.com:3000/masters/machines
該当のソースコード
●Nuxt.jsでは、Vuexのストア内でaxiosを実行しています、 async storeHospital({ commit }, Machine) { const url = createUrl(); const data = { Machine_code: Machine.Machine_code, Machine_name: Machine.Machine_name }; await this.$axios.$post(url, data); }, ●Nuxt.jsは192.168.xx.xx:3000ポートにしています。 nuxt.config.jsのaxios設定ではプロキシを設定しています axios: { baseURL: 'http://localhost:8000', proxy: true }, proxy: { '/api': { target: 'http://localhost:8000' } }, ●Laravel側のルートは GET|HEAD | api/machines | machines.index 全件検索(Read) POST | api/machines | machines.store 新規追加(Create) PUT|PATCH | api/machines/{machine} | machines.update 更新(Update) GET|HEAD | api/machines/{machine} | machines.show 更新前の1件表示用(Read) DELETE | api/machines/{machine} | machines.destroy 削除(Delete) ●Laravelも同じIPで8000ポートにしています。 CORS対応としてbarryvdh/laravel-corsライブラリを入れています。 設定は 'supportsCredentials' => false, 'allowedOrigins' => ['*'], 'allowedHeaders' => ['Content-Type', 'X-Requested-With'], 'allowedMethods' => ['*'], // ex: ['GET', 'POST', 'PUT', 'DELETE'] 'exposedHeaders' => [], 'maxAge' => 0,
試したこと
LaravelでCORS対策をするまではGETしか動かなくて更新や削除の時はCORSエラーが出ていました。
CORS対策したらPOSTだけCORSエラーではなくレスポンスが返ってこないという感じです。
何かヘッダ情報を付与しないといけないとか、Laravel側の何か設定が足らないのか
手詰まりとなっています。
原因がわからずのままで、何か知恵をお貸しください。
補足情報(FW/ツールのバージョンなど)
フロントはNuxt.js、バックエンドをLarabel5.8でAPIだけの構成で
アプリケーションを作成しています。
フロントからはAxiosでリクエストを投げています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。