前提・実現したいこと
Vueのaxiosを利用して外部APIに接続しようとしたところ、CORSが発生。
vue.config.jsを利用してプロキシを設定して対応しようとしているが解消されない。
現在は下記のような流れになっているはず http://localhost:8080 -> https://〇〇.jp/aaa/bbb/... これをプロキシを設定して下記のようにしたい http://10.0.0.0:1111 -> https://〇〇.jp/aaa/bbb/...
発生している問題・エラーメッセージ
Access to XMLHttpRequest at 'https://〇〇.jp/aaa/bbb/ccc/ddd?hoge=huga&piyo=para' from origin 'http://localhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
該当のソースコード
vue
1<template> 2 <div> 3 <button @click="test">api test</button> 4 </div> 5</template> 6 7// script内を一部抜粋 8<script> 9import axios from 'axios' 10 11export default { 12 data () { 13 return { 14 axios: axios, 15 path: 'https://〇〇.jp/aaa/bbb/ccc/ddd?hoge=huga&piyo=para' 16 } 17 }, 18 methods: { 19 test () { 20 this.axios 21 .get(this.path) 22 .then(res => { 23 console.log(res) 24 }).catch(err => { 25 console.log(err) 26 }) 27 } 28 } 29} 30</script> 31 32
試したこと
下記ディレクトリ構成において該当箇所にvue.config.js
を作成
// 一階層のみ project ├─node_module ├─public ├─src ├─router ├─views ├─main.js ├─babel.config.js ├─package.json ├─vue.config.js // ここに作成
js
1module.exports = { 2 devServer: { 3 proxy: { 4 '/aaa': { 5 target: 'http://10.0.0.0:1111' 6 } 7 } 8 } 9};
補足情報(FW/ツールのバージョンなど)
config.jsを用いなくても別に問題ない等ございましたらご教授いただけると幸いです。
あなたの回答
tips
プレビュー