提问者:小点点

Laravel 5 api和ionic 1(Angular 1)的CORS问题


Angular 1中的前端应用程序和我的API建立在Laravel上,位于不同的服务器上,那么我肯定会面临跨源请求共享(CORS)问题,我的API不会返回预期的结果。

我遇到了这个问题,根据一些解决方案,我在Laravel的index. php上添加了一些(以下代码)标头,但我仍然无法解决这个问题。

标头('Access-Control-Allow-Origin:*');

标头('访问控制允许方法:*');

header('Access-Control-Allow-Headers:*');

错误消息:在chrome浏览器上,

对预检请求的响应未通过权限改造检查:请求的资源上没有“访问控制允许起源”标头。因此不允许访问起源http://localhost:8100。


共2个答案

匿名用户

您不应该在index. php手动修改您的标头。Laravel可能会覆盖标头,而且您无法确定何时调用您的header()函数(如果有的话)。

你可以实现某种拦截器来捕获每个请求并设置CORS头。或者你可以尝试一些像https://github.com/barryvdh/laravel-cors这样的库

匿名用户

您的标头是否仅添加到GET/POST?因为问题出在预检OPTIONS请求中-您需要确保至少为OPTIONS请求返回Access-Control-Allow-Origin响应标头。