成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

laravel 跨域解決方案

xuexiangjys / 765人閱讀

摘要:然后你就會發(fā)現(xiàn)前端頁面已經(jīng)可以發(fā)送跨域請求了。會多出一次為的請求是正常的,因為瀏覽器要先判斷該服務(wù)器是否允許該跨域請求。

我們在用 laravel 進行開發(fā)的時候,特別是前后端完全分離的時候,由于前端項目運行在自己機器的指定端口(也可能是其他人的機器) , 例如 localhost:8000 , 而 laravel 程序又運行在另一個端口,這樣就跨域了,而由于瀏覽器的同源策略,跨域請求是非法的。其實這個問題很好解決,只需要添加一個中間件就可以了。

新建一個中間件

php artisan make:middleware EnableCrossRequestMiddleware

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

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ù)組變量就是你允許跨域的列表了,可自行修改。

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

    protected $middleware = [
        // more
        AppHttpMiddlewareEnableCrossRequestMiddleware::class,
    ];

AppHttpKernel 類的 $middleware 屬性添加,這里注冊的中間件屬于全局中間件

然后你就會發(fā)現(xiàn)前端頁面已經(jīng)可以發(fā)送跨域請求了。

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

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/25979.html

相關(guān)文章

  • 【日常填坑】之a(chǎn)jax請求laravel的api接口

    摘要:合適和夠用是最完美的追求。比如從頁面去請求的資源。它允許瀏覽器向跨源服務(wù)器,發(fā)出請求,從而克服了只能同源使用的限制。定義在中的路由都是無狀態(tài)的,并且會應(yīng)用中間件組。 關(guān)于作者 程序開發(fā)人員,不拘泥于語言與技術(shù),目前主要從事PHP和前端開發(fā),使用Laravel和VueJs,App端使用Apicloud混合式開發(fā)。合適和夠用是最完美的追求。 個人網(wǎng)站:http://www.linganm...

    Arno 評論0 收藏0
  • 【日常填坑】之a(chǎn)jax請求laravel的api接口

    摘要:合適和夠用是最完美的追求。比如從頁面去請求的資源。它允許瀏覽器向跨源服務(wù)器,發(fā)出請求,從而克服了只能同源使用的限制。定義在中的路由都是無狀態(tài)的,并且會應(yīng)用中間件組。 關(guān)于作者 程序開發(fā)人員,不拘泥于語言與技術(shù),目前主要從事PHP和前端開發(fā),使用Laravel和VueJs,App端使用Apicloud混合式開發(fā)。合適和夠用是最完美的追求。 個人網(wǎng)站:http://www.linganm...

    neu 評論0 收藏0
  • 【日常填坑】之a(chǎn)jax請求laravel的api接口

    摘要:合適和夠用是最完美的追求。比如從頁面去請求的資源。它允許瀏覽器向跨源服務(wù)器,發(fā)出請求,從而克服了只能同源使用的限制。定義在中的路由都是無狀態(tài)的,并且會應(yīng)用中間件組。 關(guān)于作者 程序開發(fā)人員,不拘泥于語言與技術(shù),目前主要從事PHP和前端開發(fā),使用Laravel和VueJs,App端使用Apicloud混合式開發(fā)。合適和夠用是最完美的追求。 個人網(wǎng)站:http://www.linganm...

    fuyi501 評論0 收藏0
  • 「新輪子」PHP CORS (Cross-origin resource sharing),解決 P

    摘要:而我的新輪子也并不是專門解決它的問題的,而是順便解決而已。概述這個包,支持在所有的項目中使用。一旦出現(xiàn)成員,代表允許全部。列出允許跨域請求的方法列表,默認是代表所有方法。信息地址嗯,新輪子,求一波。 showImg(https://segmentfault.com/img/bV5VxN?w=844&h=656); 是的,可能了解 Laravel 的都知道,在 Laravel 中簡單的設(shè)...

    lbool 評論0 收藏0

發(fā)表評論

0條評論

xuexiangjys

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<