两个不属于同域的网址之间,由于浏览器为了安全禁止直接互相访问资源,为了实现访问,就要做跨域。跨域就是让两个不同源的页面在浏览器中被认为是同源。

    下面几种情况都要做跨域:
    (1) 域名不一样。
    (2)域名一样但端口不一样。
    (3)域名一样,协议不一样,例如一个是http,一个是https。
    (4)一个是域名,一个是ip地址。
    (5)子域名不同,例如一个是www.a.com,另一个是sss.a.com或a.com。

    如何做跨域?
    在nginx.conf文件中多加一个location:
    location /carrots-admin-ajax/{
    proxy_pass http://dev.admin.carrotsNaNteng.com/;
    }
    /carrots-admin-ajax/是两个不同源页面地址需要共有的一段url。
    http://dev.admin.carrotsNaNteng.com/是请求要发送到的地址。这个location表示代理服务器要访问http://dev.admin.carrotsNaNteng.com/carrots-admin-ajax/这一段。

    然后在js中设置ajax xhr,关键地方是:xmlhttp.open(“post”,”/carrots-admin-ajax/a/login”,true);。
    /carrots-admin-ajax/a/login表示点击提交按钮通过ajax访问这一段url。url被代理转发请求,转发到这个完整地址:http://dev.admin.carrotsNaNteng.com/carrots-admin-ajax/a/login

    cd /usr/local/nginx/sbin
    ./nginx //启动nginx,我的阿里云,重启主机后,需要执行这个才能用。