专栏首页LaravelCode解决 Laravel 项目跨域问题

解决 Laravel 项目跨域问题

Access to XMLHttpRequest at 'http://youji.teavels.test/api/travels/show' from origin 'http://127.0.0.1:8848' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

很多人应该会遇到以上问题吧?其实说白了就是跨域。

跨域问题、这是一种反很常见的问题、当然解决方式也有很多、我们使用 Laravel 开发的项目处理起来就更简单了。假设我们的项目是采用 dingo/api 来处理 API 的。那么我们可以使用 barryvdh/laravel-cors 扩展包来解决跨域问题

安装

composer require barryvdh/laravel-cors

发布配置文件

php artisan vendor:publish --provider="Barryvdh\Cors\ServiceProvider"

使用

扩展包的使用是非常简单的,我们在需要的地方增加中间件即可。

如果需要全局使用,可以在 app/Http/Kernel.php$middleware 中增加\Barryvdh\Cors\HandleCors::class,假如我们只有接口部分设计到 CORS 问题,我们只添加到 API 相关的路由中。

因为我们使用了DingoApi,路由部分被接管了,所以需要去 routes/api.php 中单独设置中间件。

首先需要设置一下该中间件的别名,方便使用: 修改 app/Http/Kernel.php

protected $routeMiddleware = [
        .
        .
        .
        'cors' => \Barryvdh\Cors\HandleCors::class,
];

接下来只需要在 routes/api.php 中增加该中间件即可:

$api->version('v1', [
    'namespace' => 'App\Http\Controllers\Api',
    'middleware' => ['cors']
], function ($api) {...}

基于以上配置即可轻松解决跨域问题.

更多信息、请参考 barryvdh/laravel-cors

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • PHP规范PSR0和PSR4的理解

    一、PSR0简介 下文描述了若要使用一个通用的自动加载器(autoloader),你所需要遵守的规范: 一个完全标准的命名空间(namespace)和类(cl...

    猿哥
  • 数据结构和算法——选择排序

    选择排序的工作方式是:维护已排序的子列表,从主列表中找到最小的项,然后将其交换到子列表的最后一个元素,直到对所有项进行排序为止。

    Lemon黄
  • Swoole开发要点介绍

    摘要:简介Swoole是一个PHP扩展,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接池,Asyn...

    叫我可儿呀
  • 千万级批量采集框架,就叫他UrlSpider吧

    我希望在整个理清楚数据采集这个行业的过程中,实现一个能高效的分布式的自带反爬虫的框架。。

    十四君
  • H5多媒体能力

    ###事件 | 事件 | 描述 | | —- | —- | | abort | 在播放被终止时触发。| | canplay | 在媒体数据已经有足够的数据(至少...

    Tiffany_c4df
  • php7安装swoole扩展的步骤详解

    里面讲到了swoole,对于这个东西我相信大家(接近1年phper)都是听过它,但没有真正去用它,当然也是不知道如何使用(me too)。

    叫我可儿呀
  • 2019年末逆向复习系列之淘宝M站Sign参数逆向分析

    本次案例的代码都已上传到Review_Reverse上面,后面会持续更新,大家可以Fork一波。

    云爬虫技术研究笔记
  • 马蜂窝消息总线——面向业务的消息服务设计

    蜂窝消息总线于 2017 年 11 月份上线,截至目前,已经被电商、酒店、大交通、社区等多个技术团队投入到生产环境的使用中。

    Spark学习技巧
  • Help - hack the box

    To be honest, Help is not a difficult box. But there are some rabbit holes in th...

    madneal
  • Web安全——逻辑漏洞浅析

    有的可用手机验证码登录,我们用burp抓取数据包然后放到Repeater这个模块里,反复点go,要是存在短信轰炸漏洞就会有一大堆短信

    天钧

扫码关注云+社区

领取腾讯云代金券