質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Vue CLI

Vue CLIは、Vue.jsでアプリケーション開発を行うためのコマンドラインインタフェース(CLI)に基づいた開発ツールです。インタラクティブなプロジェクトの雛形や設定なしで使用できるプロトタイプの作成など、さまざまな機能が用意されています。

CORS

CORSとはCross-Origin Resource Sharingの頭文字をとったもので、ブラウザがオリジン以外のサーバからデータを取得するシステムのことです。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

0回答

3301閲覧

VueのaxiosにてCORSが発生してAPIに接続ができない

vnsa7221

総合スコア348

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Vue CLI

Vue CLIは、Vue.jsでアプリケーション開発を行うためのコマンドラインインタフェース(CLI)に基づいた開発ツールです。インタラクティブなプロジェクトの雛形や設定なしで使用できるプロトタイプの作成など、さまざまな機能が用意されています。

CORS

CORSとはCross-Origin Resource Sharingの頭文字をとったもので、ブラウザがオリジン以外のサーバからデータを取得するシステムのことです。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

2クリップ

投稿2020/04/06 09:06

前提・実現したいこと

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を用いなくても別に問題ない等ございましたらご教授いただけると幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問