"
第一步: 創(chuàng)建中間件
創(chuàng)建 `app/Http/Middleware/AccessControlAllowOrigin.php` middleware 把 'Access-Control-Allow-Origin: *' 寫入頭部.
app/Http/Middleware/AccessControlAllowOrigin.php
<?php
namespace App\\\\Http\\\\Middleware;
use Closure;
use Illuminate\\\\Support\\\\Facades\\\\Auth;
class AccessControlAllowOrigin
{
/**
*
* Handle an incoming request.
*
* @param \\\\Illuminate\\\\Http\\\\Request $request
* @param \\\\Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Methods: *");
header("Access-Control-Allow-Headers: Content-Type,Access-Token");
header("Access-Control-Expose-Headers: *");
return $next($request);
}
}
第二步: 注冊路由
注冊這個 middleware 到 kernel 中.
分別在 protected $middleware 數(shù)組中和 protected $routeMiddleware 數(shù)組中
添加我們剛才創(chuàng)建的那個文件class名, 使用 cors 這個別名.
第三步: 設置中間件保護接口
然后在設置它保護 api , 就是$middlewareGroups['api'] 的數(shù)組中添加它的別名, 本文中是 'cors'app/Http/Kernel.php
<?php
namespace App\\\\Http;
use Illuminate\\\\Foundation\\\\Http\\\\Kernel as HttpKernel;
class Kernel extends HttpKernel
{
/**
* The application's global HTTP middleware stack.
*
* These middleware are run during every request to your application.
*
* @var array
*/
protected $middleware = [
\\\\Illuminate\\\\Foundation\\\\Http\\\\Middleware\\\\CheckForMaintenanceMode::class,
\\\\Illuminate\\\\Foundation\\\\Http\\\\Middleware\\\\ValidatePostSize::class,
\\\\App\\\\Http\\\\Middleware\\\\TrimStrings::class,
\\\\Illuminate\\\\Foundation\\\\Http\\\\Middleware\\\\ConvertEmptyStringsToNull::class,
\\\\App\\\\Http\\\\Middleware\\\\AccessControlAllowOrigin::class,
];
/**
* The application's route middleware groups.
*
* @var array
*/
protected $middlewareGroups = [
'web' => [
\\\\App\\\\Http\\\\Middleware\\\\EncryptCookies::class,
\\\\Illuminate\\\\Cookie\\\\Middleware\\\\AddQueuedCookiesToResponse::class,
\\\\Illuminate\\\\Session\\\\Middleware\\\\StartSession::class,
// \\\\Illuminate\\\\Session\\\\Middleware\\\\AuthenticateSession::class,
\\\\Illuminate\\\\View\\\\Middleware\\\\ShareErrorsFromSession::class,
\\\\App\\\\Http\\\\Middleware\\\\VerifyCsrfToken::class,
\\\\Illuminate\\\\Routing\\\\Middleware\\\\SubstituteBindings::class,
],
'api' => [
'throttle:60,1',
'bindings',
'cors'
],
];
/**
* The application's route middleware.
*
* These middleware may be assigned to groups or used inpidually.
*
* @var array
*/
protected $routeMiddleware = [
'auth' => \\\\Illuminate\\\\Auth\\\\Middleware\\\\Authenticate::class,
'auth.basic' => \\\\Illuminate\\\\Auth\\\\Middleware\\\\AuthenticateWithBasicAuth::class,
'bindings' => \\\\Illuminate\\\\Routing\\\\Middleware\\\\SubstituteBindings::class,
'can' => \\\\Illuminate\\\\Auth\\\\Middleware\\\\Authorize::class,
'guest' => \\\\App\\\\Http\\\\Middleware\\\\RedirectIfAuthenticated::class,
'throttle' => \\\\Illuminate\\\\Routing\\\\Middleware\\\\ThrottleRequests::class,
'cors' => \\\\App\\\\Http\\\\Middleware\\\\AccessControlAllowOrigin::class,
];
}
第四步:在路由中添加路由
Route::middleware('cors')->group(function () {
//
});
更多關于云服務器,域名注冊,虛擬主機的問題,請訪問西部數(shù)碼官網:m.ps-sw.cn