Open barretzhi opened 6 years ago
@hhxsv5 我看了 那个包没有使用原生的header()
第三方包吗?文件发下。
测试了,没问题。
我也测试没问题,但请求几次就不行了
body数据都正常吗?怀疑代码没走到中间件。
@barretzhi 细聊 QQ群:698480528
body 正常的,我也在怀疑没走到中间件。 我发现服务启动后bootstarp/app.php 下的文件在每次请求的时候都不走
Dingo Api中干掉了Application的全局中间件。 https://github.com/dingo/api/blob/master/src/Routing/Adapter/Lumen.php#L253 目前还没有较好的办法解决,我再想想看
好的,谢谢
不用中间件实现CORS
,直接Response对象带上Header吧。这是目前较理想的解决方案。
public function index(Request $req)
{
$headers = [
'Access-Control-Allow-Origin' => '*',
//...
];
$data = ['now' => time()];
return response()->json($data, 200, $headers);
}
然后,再统一封装一个Trait
来做响应。
哈哈,我是这样做的
跨域问题可以用nginx解决,这样又快又不需要引入那个包
@dickwu 也不错
Problem solved partially, at least by now. Here is the solution:
Coding @ config/laravels.php as follows:
'register_providers' => [
/* middleware service providers */
Dingo\Api\Provider\DingoServiceProvider::class,
Dingo\Api\Provider\HttpServiceProvider::class,
/* auth service providers */
Illuminate\Auth\AuthServiceProvider::class,
App\Providers\AuthServiceProvider::class,
Tymon\JWTAuth\Providers\LaravelServiceProvider::class,
],
Git it a try, and wish it would work for you, too.
目前还是不支持dingo吗?
@FlameMida 是的
我这也是请求一段时间就报跨域错误,没用djingo。用的\Medz\Cors\Laravel\Middleware\ShouldGroup中间件.求大佬帮忙,卡了2,3天了。
跨域中间件用的LumenCors , 每次php artisan laravels start 后 前几次 Access-Control-Allow-Origin:* 响应头还是成功的, 几次请求一走 响应头设置的cors 中间件就无效了