Javascript 在这种情况下,当CORS策略用于其他资源时出现问题
我用Laravel构建API。在前端,我将Vuejs与Nuxtjs一起使用 CORS策略包已安装并可与我的所有其他资源一起使用 对于我的一个功能,它不起作用。出现以下错误,我不理解原因:Javascript 在这种情况下,当CORS策略用于其他资源时出现问题,javascript,laravel,vue.js,nuxt.js,element-ui,Javascript,Laravel,Vue.js,Nuxt.js,Element Ui,我用Laravel构建API。在前端,我将Vuejs与Nuxtjs一起使用 CORS策略包已安装并可与我的所有其他资源一起使用 对于我的一个功能,它不起作用。出现以下错误,我不理解原因: 访问位于的XMLHttpRequest'http://myapp.test/api/bilan/storestatus“起源”http://localhost:3000'已被CORS策略阻止:请求的资源上不存在'Access Control Allow Origin'标头。 11:22:48.855 邮递ht
访问位于的XMLHttpRequest'http://myapp.test/api/bilan/storestatus“起源”http://localhost:3000'已被CORS策略阻止:请求的资源上不存在'Access Control Allow Origin'标头。
11:22:48.855
邮递http://myapp.test/api/bilan/storestatus net::ERR_失败
我这样做:
<el-switch v-model="status.status" @change="storeStatus">
</el-switch>
你能解释一下我为什么会犯这个错误吗
尤其是在我的应用程序的其余部分上,一切正常。您还应该在服务器上启用CORS。然后加上
axios.defaults.headers.post['Access-Control-Allow-Origin']='*'代码>
或者是服务器不接受选项请求时出现问题。您将在中了解有关CORS的更多详细信息您的请求是否存在内部错误?CORS策略包的一个问题是Laravels默认错误处理程序将创建新的响应头。如果请求通过错误处理程序运行,它将删除CORS头。所以如果你的请求有内部错误,你不会得到500个错误,由于响应头被覆盖,您将收到一个CORS错误。如果您完全确定CORS策略正确,并且应允许localhost
源站访问myapp.test/api/bilan/storestatus
,则检查实际响应。有时,成功的响应确实提供了正确的CORS标头,但如果出现错误,则错误标头不会提供任何CORS标头,因此浏览器会因CORS原因导致请求失败,而实际上,请求因其他原因(除CORS外)而失败@apokryfos感谢您的响应。对于这个查询,我在标题中没有看到任何COR。如何看待问题的根源?我进入盲php artisan缓存:clear
php artisan配置:clear
php artisan路由:clear
php artisan配置:缓存
php artisan路由:缓存
您可以尝试这些代码,如果在开发时出现问题,您应该得到两个请求,一个是OPTIONS
,另一个是POST
。如果第一个请求成功,那么检查第二个请求的状态代码和内容。如果是错误,那么问题可能不是CORS,而是实际的代码错误。
data() {
status: { status: 0 }
}
async storeStatus() {
try {
await axios.post('bilan/storestatus', this.status)
.then( () => {
this.$message({
message: this.$t('status.updated'),
type: 'success'
})
})
.catch(error => {
console.log(error);
})
} catch (e) {
console.log(e)
}
},