我正在使用AngularJs并为访问数据和所有内容做出某些交叉来源请求。
为此,我在Apache服务器的000-default.config
文件中添加了所需的标头,以允许跨源请求,但它无法正常工作。
它不断返回相同的错误'XMLHttpRequest无法加载'domain-name'。没有'Access-Control-Origin'标题出现,等等......
我尝试将标头放在<IfModule mod_headers.c></IfModule>
内,但输出仍无差异。
每次尝试后我都重新启动了服务器。 如果你在想什么:P
000-default.config文件
<VirtualHost *:8081>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Methods "POST, GET, PUT, DELETE, OPTIONS"
Header set Access-Control-Allow-Headers "Origin, X-Requested-With, content-type, Accept"
Header set Access-Control-Allow-Credentials "true"
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L]
</IfModule>
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
</VirtualHost>
搜索完答案后,我遇到了adding CORS chrome extension
和disabling web security
,这使得它完美无缺,但我应该为制作目的做些什么,因为没有人会添加扩展程序并禁用安全性?
修改
CORS问题已经解决了。我不知道怎么回事。我想我重新启动了系统,所以它发生了,但仍有一个问题。
当我们在chrome属性中添加--disable-web-security
时,它会起作用。这在开发的情况下工作正常。但是我应该如何为生产目的解决这个问题呢?
请帮助..