跨域是指不同域名之间相互访问。
方法一:nginx新建crossdomain.xml
1. 进入 nginx 的 html 目录,新建 crossdomain.xml,具体路径: /usr/local/nginx/html/crossdomain.xml
2. 在 crossdomain.xml 中添加类似如下内容:
1. <?xml version="1.0" encoding="UTF-8"?>
2. <!DOCTYPE cross-domain-policy SYSTEM "http:www.adobe.com/xml/dtds/cross-domain-policy.dtd">
3. <cross-domain-policy>
4. <allow-access-from domain="*" />
5. </cross-domain-policy>
注意:默认情况下,/usr/local/nginx/html/crossdomain.xml 是不存在的。
参见:
https://help.aliyun.com/knowledge_detail/41123.html
方法二:配置nginx.conf
在其中加入:
1. #允许跨域访问
2. #add_header 'Access-Control-Allow-Origin' '*'; #不限域名
3. add_header 'Access-Control-Allow-Origin' 'http://m.domain.com'; #限制域名的方式
4. add_header 'Access-Control-Allow-Credentials' 'true';
5. add_header 'Access-Control-Allow-Methods' 'OPTION, POST, GET';
6. add_header 'Access-Control-Allow-Headers' 'X-Requested-With, Content-Type';
之前不知道为什么用*模糊匹配所有域名不行(这样不安全),于是换成了对应域名。这里有个坑就是域名前边一定要加http:// 不然会报不支持的域名。
用此种方法解决了ajax跨域的问题。