在Laravel 5.8上安装了fruitcake / laravel-cors
我的测试服务器使用route / api.php在127.0.0.1:8000上使用php artisan服务 客户端(nuxt)在127.0.0.1:3000上运行
我可以使用POSTMAN工具将数据发送到服务器
我已经配置了fruitcake / laravel-cors
protected $middleware = [
// ...
\Fruitcake\Cors\HandleCors::class,
];
和config / cors.php
<?php
return [
/*
* You can enable CORS for 1 or multiple paths.
* Example: ['api/*']
*/
'paths' => [],
/*
* Matches the request method. `[*]` allows all methods.
*/
'allowed_methods' => ['*'],
/*
* Matches the request origin. `[*]` allows all origins.
*/
'allowed_origins' => ['*'],
/*
* Matches the request origin with, similar to `Request::is()`
*/
'allowed_origins_patterns' => [],
/*
* Sets the Access-Control-Allow-Headers response header. `[*]` allows all headers.
*/
'allowed_headers' => ['*'],
/*
* Sets the Access-Control-Expose-Headers response header.
*/
'exposed_headers' => false,
/*
* Sets the Access-Control-Max-Age response header.
*/
'max_age' => false,
/*
* Sets the Access-Control-Allow-Credentials header.
*/
'supports_credentials' => false,
];
仍然得到:
在以下位置访问XMLHttpRequest 原产地的“ http://127.0.0.1:8000/api/customerFeedbackStore” “ http://127.0.0.1:3000”已被CORS政策禁止:否 请求中出现“ Access-Control-Allow-Origin”标头 资源。
在浏览器中。
答案 0 :(得分:0)
“路径”不能为空。您至少应该将其设置为['*'],以便涵盖所有请求。
答案 1 :(得分:0)
似乎Cors的配置正确,但是返回之前的var_dump()和dd()仍然触发了消息。同样不返回任何内容也会导致cors消息。
var_dump($request);
dd($request);
使用json响应返回(因为我使用的是Json)效果很好。 (还有其他退货建议吗?)
return response()->json([
'data-received' => true
]);