繁体   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