在angular中使用$ http.get时,我遇到了一个问题:Cross-Origin Request Blocked:同源策略禁止读取远程资源.....
$http({
method: 'GET',
url: 'https://<magento_host>/rest/default/V1/orders?searchCriteria[filter_groups][0][filters][0][field]=status&searchCriteria[filter_groups][0][filters][0][value]=processing,pending&searchCriteria[filter_groups][0][filters][0][condition_type]=in',
headers : {
'Authorization': 'Bearer xxxxxxxxxxxxxxx'
}
}).success(function (data) {
}).error(function (data) {
});
为了避免跨源问题,我在Apache服务器的.htaccess文件中设置了以下方法。
在firefox开发人员工具中我得到了这样的
当我尝试这个休息时,客户端调试工具正常工作
注意:我们试图找到解决方案,但我们失败了。请帮忙......
答案 0 :(得分:3)
我在下面的代码中使用以获得解决方案。
将选项请求更改为200 ok
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L]
<IfModule mod_headers.c>
Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Headers "Authorization"
</IfModule>
最后激活标题并重新启动apache
sudo a2enmod header
sudo service apache2 restart