我的服务器上有一个基于Laravel的API。我尝试从AngularJS前端访问此api。不幸的是,这个错误出现了。
我在哪里添加配置以允许授权标头? 我试图找到一个解决方案,但无法解决它。
我尝试将其插入到Angular前端的httpd.conf
和.htaccess
中,但不幸的是它没有用:
Request header field Authorization is not allowed by Access-Control-Allow-Headers in preflight response.
答案 0 :(得分:1)
如果您的服务器使用的是Apache,请将以下代码段添加到您的api各自的 .htaccess 文件中:
<IfModule mod_headers.c>
Header set Access-Control-Allow-Headers "Authorization"
</IfModule>
在上面的代码片段中,我们要求Apache允许Authorization
标题:
Header set Access-Control-Allow-Headers "Authorization"
您可以在一行中添加多个headers
,但请注意,建议仅允许应用所需的标题。
Header set Access-Control-Allow-Headers "Authorization, X-Requested-With"
在相关说明中,人们通常需要允许跨源请求(也称为跨源资源共享或CORS)。以下代码段允许来自https://example.com
来源的交叉请求:
Header set Access-Control-Allow-Origin "https://example.com"
或者您可以使用"*"
来允许来自所有来源的请求:
不推荐
Header set Access-Control-Allow-Origin "*"
<IfModule mod_headers.c>
# To allow headers
Header set Access-Control-Allow-Headers "Authorization"
# to allow cross origin request from https://example.com
Header set Access-Control-Allow-Origin "https://example.com"
</IfModule>
答案 1 :(得分:0)
将以下代码段放在PHP脚本的顶部:
标题(&#39; Access-Control-Allow-Origin:*&#39;);
标题(&#39; Access-Control-Allow-Methods:GET,POST&#39;);
标题(&#34; Access-Control-Allow-Headers:X-Requested-With&#34;);