Angular 2能够发布请求但无法读取远程资源

时间:2017-06-09 01:38:14

标签: laravel-5 cors angular2-services

我尝试向Laravel后端发布请求但未能得到响应,因为错误“Cross-Origin Request Blocked:同源策略禁止在http://localhost:8000/path读取远程资源。”原因:缺少令牌来自CORS预检频道的CORS标题“Access-Control-Allow-Headers”中的“access-control-allow-origin”“显示。”

我在客户端和服务器中添加了Access-Control-Allow-Origin和Access-Control-Allow-Headers。为什么错误仍然显示?

1 个答案:

答案 0 :(得分:1)

删除您添加的客户端代码,以便在请求中发送Access-Control-Allow-Origin

  

(原因:CORS标题'来自CORS预检频道的'Access-Control-Allow-Headers'中的缺少令牌'access-control-allow-origin')“显示。”

     

我在我的客户端和服务器中添加了Access-Control-Allow-Origin和Access-Control-Allow-Headers 。为什么错误仍然显示?

显示错误是因为您向客户端请求添加了Access-Control-Allow-Origin标头。但Access-Control-Allow-Origin是服务器响应标头。因此,如果您在请求中从客户端发送它,您将看到您现在看到的那种错误。

CORS标题“Access-Control-Allow-Headers”中

“缺少令牌'access-control-allow-origin'”是浏览器,告诉您客户端代码正在发送{{1请求标头,但服务器返回的Access-Control-Allow-Origin响应标头不会将“Access-Control-Allow-Headers”列为它在请求中允许的标头名称之一。

因此,浏览器不允许您的前端JavaScript代码读取响应。