簡體   English   中英

Vue.js,對Laravel API的Axios多個get CORS請求隨機失敗

[英]Vue.js, Axios multiple get CORS requests to Laravel API are randomly failing

我有這個問題-在Vue組件創建的生命周期掛鈎上,我通過Axios向外部Laravel API發出了2個CORS獲取請求。 如果我只提出其中一項要求,那么一切都很好,並且100%的時間都有效。 但是,如果我發出2個或更多請求,有時我會在網絡標簽中隨機收到失敗的請求。 顯然我在使用Axios做錯了。 你能幫我么。

這是我的組件創建的掛鈎-我稱之為VueX操作。

 created () { this.$store.dispatch('getPets'); this.$store.dispatch('getSpecies'); }, 

這是我在VueX商店中的動作

 actions: { getPets(context) { return new Promise((resolve, reject) => { axios.get('api/pets') .then(response => { context.commit('SET_PETS', response.data); context.commit('SET_SELECTED_PET', response.data.data[0]); resolve(response); }) .catch(error => { reject(error); }); }); }, getSpecies(context) { return new Promise((resolve, reject) => { axios.get('api/species') .then(response => { context.commit('SET_SPECIES', response.data); resolve(response); }) .catch(error => { reject(error); }); }); }, setSelectedPet(context, pet) { context.commit('SET_SELECTED_PET', pet); }, } 

然后,我隨機收到失敗的請求-有時兩個請求都可以(200狀態),而有時其中一個失敗... 請求

該請求失敗-沒有響應,我認為該請求根本不會轉到Laravel API。 Laravel日志也是空的。

我認為Axios出了點問題,因為它不是從我的瀏覽器或防火牆發出的-我已經停止了防火牆,並在無任何擴展的隱身和其他瀏覽器中進行了測試。 任何幫助將不勝感激。

這是我在主要js文件中設置的Axios標頭。

 // Set axios to call the backend API and set its headers on every page reload window.axios = require('axios'); window.axios.defaults.baseURL = 'http://api.aaa'; window.axios.defaults.timeout = 30000; window.axios.defaults.headers.common = { 'X-Requested-With': 'XMLHttpRequest', 'Accept': 'application/json', 'Content-Type': 'application/json', 'Authorization': 'Bearer '+getToken(), }; 

好的,過了一段時間我終於想通了。 導致此行為的是PHP opCache。 如果您遇到類似的問題,請關閉opChache。

順便說一句,您能給我我的想法是什么會導致Laravel出現這種情況,因為我不想失去opCache作為類似Laravel項目的選擇嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM