【エラー】Nuxt.jsとLaravelのAPIでajax通信した際のCORSエラー
概要
現在、Nuxt.jsからLaravelで作ったAPIにaxiosライブラリで通信しようとしたら、以下のようなエラーが出た。
エラー前のコード
Nuxt.js自体をhttp://localhost:3000
で起動。
index.Vue
methods: {
get_text(){
this.$axios.$get("/index")
.then((response)=>{
this.text = response
})
.catch((error)=>{
console.log(error.name + ": " + error.message);
})
}
}
nuxt.config.js
axios: {
baseURL: 'http://localhost:8000/api'
}
原因
いわゆるCORS(Cross-Origin Resource Sharing)エラー。
僕の解釈ですが、以下が必要だと思います。
・信頼性のないドメインを排除するために出たエラー
・Ajax通信する際は、ドメインが同じである必要性
今回僕のコードでは、
http://localhost:3000
→ http://localhost:8000
と、異なるドメインに対してAjax通信しようとしています。
nuxt.config.js
を以下のように修正しました、プロキシを設定します。
修正後のコード
index.Vue
methods: {
get_text(){
this.$axios.$get("/api/index") // 修正
.then((response)=>{
this.text = response
})
.catch((error)=>{
console.log(error.name + ": " + error.message);
})
}
}
nuxt.config.js
axios: {
proxy: true // 追加
},
proxy: {
'/api': 'http://localhost:8000', // 追加
},
methods: {
get_text(){
this.$axios.$get("/api/index") // 修正
.then((response)=>{
this.text = response
})
.catch((error)=>{
console.log(error.name + ": " + error.message);
})
}
}
axios: {
proxy: true // 追加
},
proxy: {
'/api': 'http://localhost:8000', // 追加
},
Author And Source
この問題について(【エラー】Nuxt.jsとLaravelのAPIでajax通信した際のCORSエラー), 我々は、より多くの情報をここで見つけました https://qiita.com/yuya00/items/401248ba59630623e42f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .