Angular 1中的前端应用程序和我的API建立在Laravel上,位于不同的服务器上,那么我肯定会面临跨源请求共享(CORS)问题,我的API不会返回预期的结果。
我遇到了这个问题,根据一些解决方案,我在Laravel的index. php上添加了一些(以下代码)标头,但我仍然无法解决这个问题。
标头('Access-Control-Allow-Origin:*');
标头('访问控制允许方法:*');
header('Access-Control-Allow-Headers:*');
错误消息:在chrome浏览器上,
对预检请求的响应未通过权限改造检查:请求的资源上没有“访问控制允许起源”标头。因此不允许访问起源http://localhost:8100。
您不应该在index. php手动修改您的标头。Laravel可能会覆盖标头,而且您无法确定何时调用您的header()
函数(如果有的话)。
你可以实现某种拦截器来捕获每个请求并设置CORS头。或者你可以尝试一些像https://github.com/barryvdh/laravel-cors这样的库
您的标头是否仅添加到GET/POST?因为问题出在预检OPTIONS请求中-您需要确保至少为OPTIONS请求返回Access-Control-Allow-Origin响应标头。