Laravel 5 拉威尔+;Vue.js-具有特定地址的CORS问题? 拉威尔5.6 Vue 2.5.7 谷歌浏览器
嗨,我正在努力理解CORS的问题,我仍在试图找到一种消费Laravel 5 拉威尔+;Vue.js-具有特定地址的CORS问题? 拉威尔5.6 Vue 2.5.7 谷歌浏览器,laravel-5,cors,vuejs2,Laravel 5,Cors,Vuejs2,嗨,我正在努力理解CORS的问题,我仍在试图找到一种消费https://api.coinmarketcap.com/v2/listings/,我收到以下错误: (索引):1未能加载https://api.coinmarketcap.com/v2/listings/: 对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。起源'http://tours.mine因此,不允许访问。 但是如果我转到https://jsonplaceholder.typicode.com/p
https://api.coinmarketcap.com/v2/listings/
,我收到以下错误:
(索引):1未能加载https://api.coinmarketcap.com/v2/listings/: 对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。起源'http://tours.mine因此,不允许访问。
但是如果我转到https://jsonplaceholder.typicode.com/posts/
一切正常
- 使用此选项并因此禁用了chrome的CORS后,我收到了一个新错误:
仅在此地址上接收:飞行前响应中的访问控制允许标头不允许请求标头字段X-CSRF-TOKEN。
https://api.coinmarketcap.com/v2/listings/
-是我在httpd/vhosts.conf中设置的本地名称http://tours.mine
- 我尝试了BarryVdh cors lib,还创建了自己的cors中间件nada
Route::get('/', function () {
return view('welcome');
});
在welcome.blade中,我在两个元中传递csrf:
<meta name="csrf-token" content="{{ csrf_token() }}">
非常感谢你的帮助
Bud如果您正在使用this(),请确保在mid中关闭csrf令牌您尝试使用的url不能在跨域javascript中使用,因为它不提供“Access Control Allow Origin”类型的响应头。 在这种情况下,如果您无法控制API服务器,那么您将被迫使用其他非常规方式,因为如果域与您的域不匹配,所有现代浏览器都将阻止对该站点的任何请求 您有两个备选方案来解决此问题:
这应该是一个评论,而不是一个答案。
<script>
window.Laravel = <?php echo json_encode([
'csrfToken' => csrf_token(),
]); ?>
</script>
<div class="container" id="app">
<coin-add-component></coin-add-component>
</div>
mounted(){
this.axios.get('https://api.coinmarketcap.com/v2/listings/')
.then(response => {
console.log(response.data);
})
.catch(e => {
this.errors.push(e)
})
}