ajax--跨域产生的原因

协议,域名,端口只要有一个不同即为跨域。

ajax--跨域产生的原因

1. 浏览器限制

    很多情况下,有的人会认为跨域是服务器端造成的,实际上不是。

    如图:ajax--跨域产生的原因

ajax--跨域产生的原因

发送get1()请求,控制台打印出了跨域报错,但是实际上这个请求状态码为200,请求是成功到达服务器并且返回数据。所以可以判断服务器端是ok的,但是浏览器检测出了我们跨域,然后报跨域安全问题。

2. 服务器端设置跨域

3. 发送了XHR请求

我们使用<img src="">避开发送XHR请求:

ajax--跨域产生的原因

ajax--跨域产生的原因

可以看到,同样的请求,换成非XHR就不会报跨域问题。

如图:

ajax--跨域产生的原因