关于laravel设置跨域

一般在在mvvm的开发模式下,都是向后端请求接口,在没有打包放到同域下,而是在开发的环境下,像vue-cli都是开一个端口服务,因此在开发环境下,后端都要设置允许跨域(cros)
如何使用laravel做后端时,设置允许跨域呢?
1.写一个中间件,返回一个响应头
AllowAcross.php

<?php
namespace App\Http\Middleware;
use Closure;
//laravel的中间件
//就是说在仿问一个路由时要经过此代码进行处理
class AllowAcross
{
    /**
     * Run the request filter.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request,Closure $next)
    {
         header("Access-Control-Allow-Origin: *");

        $headers = [
            'Access-Control-Allow-Methods'=> 'POST, GET, OPTIONS, PUT, DELETE',
            'Access-Control-Allow-Headers'=> 'Content-Type, X-Auth-Token, Origin'
        ];

        $response = $next($request);
        foreach($headers as $key => $value) 
            $response->header($key, $value);
        return $response;
    }

}

2.在kernel.php中注册

<?php



namespace App\Http;



use Illuminate\Foundation\Http\Kernel as HttpKernel;



class Kernel extends HttpKernel

{

    /**

     * The application's global HTTP middleware stack.

     *

     * @var array

     */

    protected $middleware = [   

        \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,

        \App\Http\Middleware\EncryptCookies::class,
        //在这里
        \App\Http\Middleware\AllowAcross::class,

        \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,

        \Illuminate\Session\Middleware\StartSession::class,

        \Illuminate\View\Middleware\ShareErrorsFromSession::class,

       // \App\Http\Middleware\VerifyCsrfToken::class,

    ];



    /**

     * The application's route middleware.

     *

     * @var array

     */

    protected $routeMiddleware = [

        'auth' => \App\Http\Middleware\Authenticate::class,

        'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,

        'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,

        //自定义非全局中间件

        //用来判段是否登录

        'check' => \App\Http\Middleware\CheckLogin::class,
        'AdminCheck' => \App\Http\Middleware\CheckAdminLogin::class

    ];

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值