服務(wù)器A請求服務(wù)器B的接口,那么一般會(huì)出現(xiàn)跨域問題。
XMLHttpRequest cannot load http://api.console.vms3.com/api/user. No "Access-Control-Allow-Origin" header is present on the requested resource. Origin "http://localhost:8080" istherefore not allowed access.
意思就是服務(wù)器響應(yīng)不允許跨域訪問.
那我們就需要讓服務(wù)器支持跨域訪問, 也就是在響應(yīng)頭部中添加
"Access-Control-Allow-Origin: *"第一步: 創(chuàng)建中間件
創(chuàng)建 `app/Http/Middleware/AccessControlAllowOrigin.php` middleware 把 "Access-Control-Allow-Origin: *" 寫入頭部. app/Http/Middleware/AccessControlAllowOrigin.php 第二步: 注冊路由注冊這個(gè) middleware 到 kernel 中.
第三步: 設(shè)置中間件保護(hù)接口
分別在 protected $middleware 數(shù)組中和 protected $routeMiddleware 數(shù)組中
添加我們剛才創(chuàng)建的那個(gè)文件class名, 使用 cors 這個(gè)別名.然后在設(shè)置它保護(hù) api , 就是$middlewareGroups["api"] 的數(shù)組中添加它的別名, 本文中是 "cors"
app/Http/Kernel.php[ AppHttpMiddlewareEncryptCookies::class, IlluminateCookieMiddlewareAddQueuedCookiesToResponse::class, IlluminateSessionMiddlewareStartSession::class, // IlluminateSessionMiddlewareAuthenticateSession::class, IlluminateViewMiddlewareShareErrorsFromSession::class, AppHttpMiddlewareVerifyCsrfToken::class, IlluminateRoutingMiddlewareSubstituteBindings::class, ], "api" => [ "throttle:60,1", "bindings", "cors" ], ]; /** * The application"s route middleware. * * These middleware may be assigned to groups or used individually. * * @var array */ protected $routeMiddleware = [ "auth" => IlluminateAuthMiddlewareAuthenticate::class, "auth.basic" => IlluminateAuthMiddlewareAuthenticateWithBasicAuth::class, "bindings" => IlluminateRoutingMiddlewareSubstituteBindings::class, "can" => IlluminateAuthMiddlewareAuthorize::class, "guest" => AppHttpMiddlewareRedirectIfAuthenticated::class, "throttle" => IlluminateRoutingMiddlewareThrottleRequests::class, "cors" => AppHttpMiddlewareAccessControlAllowOrigin::class, ]; }第四步:在路由中添加路由Route::middleware("cors")->group(function () { // });
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/29563.html
摘要:合適和夠用是最完美的追求。比如從頁面去請求的資源。它允許瀏覽器向跨源服務(wù)器,發(fā)出請求,從而克服了只能同源使用的限制。定義在中的路由都是無狀態(tài)的,并且會(huì)應(yīng)用中間件組。 關(guān)于作者 程序開發(fā)人員,不拘泥于語言與技術(shù),目前主要從事PHP和前端開發(fā),使用Laravel和VueJs,App端使用Apicloud混合式開發(fā)。合適和夠用是最完美的追求。 個(gè)人網(wǎng)站:http://www.linganm...
摘要:合適和夠用是最完美的追求。比如從頁面去請求的資源。它允許瀏覽器向跨源服務(wù)器,發(fā)出請求,從而克服了只能同源使用的限制。定義在中的路由都是無狀態(tài)的,并且會(huì)應(yīng)用中間件組。 關(guān)于作者 程序開發(fā)人員,不拘泥于語言與技術(shù),目前主要從事PHP和前端開發(fā),使用Laravel和VueJs,App端使用Apicloud混合式開發(fā)。合適和夠用是最完美的追求。 個(gè)人網(wǎng)站:http://www.linganm...
摘要:合適和夠用是最完美的追求。比如從頁面去請求的資源。它允許瀏覽器向跨源服務(wù)器,發(fā)出請求,從而克服了只能同源使用的限制。定義在中的路由都是無狀態(tài)的,并且會(huì)應(yīng)用中間件組。 關(guān)于作者 程序開發(fā)人員,不拘泥于語言與技術(shù),目前主要從事PHP和前端開發(fā),使用Laravel和VueJs,App端使用Apicloud混合式開發(fā)。合適和夠用是最完美的追求。 個(gè)人網(wǎng)站:http://www.linganm...
摘要:跨域的請求出于安全性的原因,瀏覽器會(huì)限制中的跨域請求。跨源共享標(biāo)準(zhǔn)需要瀏覽器和服務(wù)端共同配合才能完成,目前瀏覽器廠商已經(jīng)可以將請求部分自動(dòng)完成,所以跨源資源訪問的重點(diǎn)還是在于服務(wù)器端。指明預(yù)請求或者跨域請求的來源。 跨域的請求 出于安全性的原因,瀏覽器會(huì)限制 Script 中的跨域請求。由于 XMLHttpRequest 遵循同源策略,所有使用 XMLHttpRequest 構(gòu)造 HT...
閱讀 2949·2021-11-24 09:39
閱讀 2858·2021-09-29 09:34
閱讀 3549·2021-09-24 10:23
閱讀 1731·2021-09-22 15:41
閱讀 1690·2019-08-30 15:55
閱讀 3506·2019-08-30 13:58
閱讀 2614·2019-08-30 13:11
閱讀 1662·2019-08-29 12:31