在使用 ajax 获取 json 数据的时候,当域名不同时,例如:客户端的域名是 www.client.com,而请求的域名是 www.server.com 时会出现以下错误:
1 XMLHttpRequest cannot load http://www.server.com/server.php. No 'Access-Control-Allow-Origin' header is present on the requested resource.Origin 'http://www.client.com' is therefore not allowed access.2
使用 apache 时,首先在 /etc/httpd/conf/httpd.conf
中取消 LoadModule headers_module modules/mod_headers.so
的注释
然后在 httpd.conf
或 httpd-vhosts.conf
文件增加一行配置
1 <Directory />2 Options FollowSymLinks3 AllowOverride None4 </Directory>5
1 <Directory />2 Options FollowSymLinks3 AllowOverride None4 Header set Access-Control-Allow-Origin "*"5 </Directory>6
1 <Directory />2 Options FollowSymLinks3 AllowOverride None4 Header set Access-Control-Allow-Origin "https://client.com"5 </Directory>6
重启 Apache ,即完成跨域配置
注意: apache 要么允许所有域名,要么允许单个域名,不能配置多个域名