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”访问。
答案 0 :(得分:2)
您不应在index.php上手动修改标头。 Laravel可能会覆盖标题,而且您无法确定何时调用header()
函数(如果是)。
您可以实现某种捕获每个请求并设置CORS头的拦截器。或者你可以尝试像https://github.com/barryvdh/laravel-cors
这样的库答案 1 :(得分:0)
您的标题是否仅添加到GET / POST?由于问题出在预检OPTIONS请求中 - 您需要确保至少,因此为OPTIONS请求返回了Access-Control-Allow-Origin响应标头。