最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

laravel開發(fā)中跨域的解決方案

 更新時間:2017年10月30日 10:07:47   作者:96qbhy  
最近在開發(fā)中遇到了跨域的需求,通過查找相關(guān)資料找到了相關(guān)的解決方法了,所以下面這篇文章主要給大家介紹了關(guān)于laravel開發(fā)中跨域的解決方案,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。

前言

眾所周知我們大家在用 laravel 進(jìn)行開發(fā)的時候,特別是前后端完全分離的時候,由于前端項目運(yùn)行在自己機(jī)器的指定端口(也可能是其他人的機(jī)器) , 例如 localhost:8000 , 而 laravel 程序又運(yùn)行在另一個端口,這樣就跨域了,而由于瀏覽器的同源策略,跨域請求是非法的。其實(shí)這個問題很好解決,只需要添加一個中間件就可以了。下面話不多說了,來隨著小編一起看看詳細(xì)的解決方案吧。

解決方案:

1、新建一個中間件

php artisan make:middleware EnableCrossRequestMiddleware

2、書寫中間件內(nèi)容

<?php
namespace App\Http\Middleware;
use Closure;
class EnableCrossRequestMiddleware
{
 /**
 * Handle an incoming request.
 *
 * @param \Illuminate\Http\Request $request
 * @param \Closure $next
 * @return mixed
 */
 public function handle($request, Closure $next)
 {
 $response = $next($request);
 $origin = $request->server('HTTP_ORIGIN') ? $request->server('HTTP_ORIGIN') : '';
 $allow_origin = [
  'http://localhost:8000',
 ];
 if (in_array($origin, $allow_origin)) {
  $response->header('Access-Control-Allow-Origin', $origin);
  $response->header('Access-Control-Allow-Headers', 'Origin, Content-Type, Cookie, X-CSRF-TOKEN, Accept, Authorization, X-XSRF-TOKEN');
  $response->header('Access-Control-Expose-Headers', 'Authorization, authenticated');
  $response->header('Access-Control-Allow-Methods', 'GET, POST, PATCH, PUT, OPTIONS');
  $response->header('Access-Control-Allow-Credentials', 'true');
 }
 return $response;
 }
}

$allow_origin 數(shù)組變量就是你允許跨域的列表了,可自行修改。

3、然后在內(nèi)核文件注冊該中間件

 protected $middleware = [
 // more
 App\Http\Middleware\EnableCrossRequestMiddleware::class,
 ];

在 App\Http\Kernel 類的 $middleware 屬性添加,這里注冊的中間件屬于全局中間件。
然后你就會發(fā)現(xiàn)前端頁面已經(jīng)可以發(fā)送跨域請求了。

會多出一次 method 為 options 的請求是正常的,因為瀏覽器要先判斷該服務(wù)器是否允許該跨域請求。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

最新評論

合肥市| 奉新县| 彭水| 太仆寺旗| 徐州市| 汉沽区| 白城市| 安远县| 勐海县| 虎林市| 准格尔旗| 海晏县| 白朗县| 广西| 霍林郭勒市| 温泉县| 沿河| 岳池县| 浮梁县| 宿迁市| 曲阳县| 北流市| 泸州市| 西丰县| 成都市| 阿拉尔市| 界首市| 新和县| 濮阳县| 鱼台县| 科技| 信宜市| 乌海市| 昌平区| 林口县| 谷城县| 瑞丽市| 建宁县| 项城市| 襄垣县| 基隆市|