webman2.1中corsMiddleware中间件不生效的问题

按官方文档设置了corsMiddleware,也添加到config/middleware,但依然报cors错误时:

试一下以下方法:

比如:请求地址是/auth/login,路由表为Route:post(‘/auth/login’),改为Route:any(‘/auth/login’)。

如果cors问题解决了说明我们需要配置所有路由表对应的options请求。

官方文档中有说过用any来解决这个问题。但这不是很合理。有时候同一个地址需要get,post分配不同方法。

或者已经有很多路由表,修改也挺麻烦的。

此时,不妨试一下如下方法:

在route文件最下方添加以下路由:这个路由表的作用是匹配任意地址的options请求

Route::options('/[{path:.+}]', function (Request $request) {});

如此匹配路由表这一关过了,下一步就会走已有的cors中间件。

这个方法因为添加的是任意地址的options请求,需要保证的是,不能有使用any的路由表,因为会报重复路由错误。

Comments

No comments yet. Why don’t you start the discussion?

发表回复