我有下一期。我将laravel project
部署到https\ssl
域上的服务器。它加载'OK'而不重写.httaccess
文件因为我有预配置nginx
设置。但是当我尝试从其他域with cross-origin request
访问我的'API'到这个域时 - 我收到错误"Blocked loading mixed active content “http://xxxx.xxx“"
。如何看待它返回错误的"http"
主机,然后还发送错误与CORS Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://xxxxx.xxx. (Reason: CORS request did not succeed).
。
我尝试在中间件控制器中强制使用URL,使用laravel-cors
libs,但它没有效果。我不认为CORS有问题,我认为配置中间件或api-middleware的问题。对于API,我使用Dingo API
。
在中间件中,您需要设置标头。创建一个Middleware类并将以下内容放在handle方法中:
public function handle($request, Closure $next)
{
return $next($request)
->header('Access-Control-Allow-Origin', '*')
->header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
}
然后将其添加到app / Http / Kernel.php中的$ routeMiddleware。然后将该中间件用于您需要的任何路由。
所有的问题都在hrefs(links)
,如果你像href
那样在前端写https://site/api/news/它会收到错误,但是当你像https://site/api/news那样写它时就可以了......所有你需要删除最后一个'/'
。 API Frameworks
认为你想从文件夹中获取所有数据,因为它阻止它。这是'Wrong endpoint issue'