Php laravel 5.1 restFull api的访问控制源
我正在使用Laravel5.1开发RESTfulAPI。我的端点在Postman上正常工作。但是当我把它与前端集成在一起时,它就开始跟踪错误了 无法加载XMLHttpRequest .Php laravel 5.1 restFull api的访问控制源,php,laravel,laravel-5.1,Php,Laravel,Laravel 5.1,我正在使用Laravel5.1开发RESTfulAPI。我的端点在Postman上正常工作。但是当我把它与前端集成在一起时,它就开始跟踪错误了 无法加载XMLHttpRequest . 请求的服务器上不存在“Access Control Allow Origin”标头 资源因此不允许使用源“” 访问响应的HTTP状态代码为500 我试过以下方法 (1) 创建核心中间件 <?php namespace App\Http\Middleware; use Closure; class
请求的服务器上不存在“Access Control Allow Origin”标头 资源
因此不允许使用源“” 访问
响应的HTTP状态代码为500 我试过以下方法 (1) 创建核心中间件
<?php
namespace App\Http\Middleware;
use Closure;
class Cors
{
public function handle($request, Closure $next)
{
return $next($request)
->header('Access-Control-Allow-Origin', '*')
->header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS')
->header('Access-Control-Allow-Headers', 'Content-Type, Accept, Authorization, X-Requested-With');
}
}
在那之后,选项请求起了作用。但post请求仍然相同
(2) 向控制器返回手动添加标题。像这样
return response()->json([$user, $merchant], 200)
->header('Access-Control-Allow-Origin', '*')
->header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS')
->header('Access-Control-Allow-Headers', 'Cache-Control, Connection, Date, Server, Content-Type, User-Agent, Accept, Referer, Authorization,Origin, Accept-Encoding, Content-Length, Host, Connection, X-Requested-With');
不走运。伙计们,请帮帮我。我非常渴望这个。我的客户想看登记表。我被这件事缠住了。改变
Route::group(['middleware' => ['web', 'core']
到
它不工作,因为它与内核中的不匹配。CORS是你的诅咒,这里有一个解决方案:中间件在
路由中指定。php
应该与内核中相同。更改此['middleware'=>['web',cors']
非常感谢。我以前没有注意到。是的。我更改了它。但不幸运的是,感谢您显示我的错误。这是一个问题。主要问题在前端。这很有帮助。谢谢。谢谢您的回答。
return response()->json([$user, $merchant], 200)
->header('Access-Control-Allow-Origin', '*')
->header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS')
->header('Access-Control-Allow-Headers', 'Cache-Control, Connection, Date, Server, Content-Type, User-Agent, Accept, Referer, Authorization,Origin, Accept-Encoding, Content-Length, Host, Connection, X-Requested-With');
Route::group(['middleware' => ['web', 'core']
Route::group(['middleware' => ['web', 'cors']