浏览器在进行ajax请求时如果发现请求的url属于不同域名或IP地址下会拒绝访问,也就是所说的跨域问题
此问题常见解决方案:
1、最常用的是,jsonp。此方案需要前后端共同协作来解决。
2、cors跨域,此方式非常优雅,是w3c组织制定的解决方案。为目前主流方案。
a.当chrome发现ajax请求的网址,与当前主域名不一致(跨域)时,会在请求header中追加值页面主域名值,即:origin = XXX.COM
b.nginx在接收到ajax请求时,会查看origin值,即请求我的网址是谁?
c.返回信息时,nginx追加header值:access-control-allow-origin = XXX.COM
d.chrome收到ajax返回值后,查看返回的header中access-control-allow-origin的值,发现其中的值是XXX.COM,正是当前的页面主域名。这是允许访问,于是执行ajax返回值内容。