Laravel 5 api和离子1(Angular 1)

时间:2018-01-31 15:32:44

标签: angularjs api ionic-framework cors

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

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

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

标题('Access-Control-Allow-Methods:*');

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

Chrome浏览器

错误消息:

对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许原点“http://localhost:8100”访问。

2 个答案:

答案 0 :(得分:2)

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

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

这样的库

答案 1 :(得分:0)

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