一、获取网站接口的数据

    // let xhr = new XMLHttpRequest(); // xhr.open(‘get’, ‘https://suggest.taobao.com/sug?k=1&area=c2c&q=apple‘, true); // xhr.send(); // xhr.onload = function() { // if (xhr.readyState === 4) { // console.log(xhr.responseText); //报错, No ‘Access-Control-Allow-Origin’ // } // }

    这里我们通过自己的服务器访问该接口会报错,这是因为我们正在跨域获取数据,而为了服务器安全,我们不采用一些办法是无法直接从前端获取对方接口的数据的。

    二、为什么产生了跨域的错误

    1.因为浏览器的同源策略,什么是同源策略?

    2.同源策略的概念:

    阻止从一个域名上加载的脚本获取或操作另一个域名上的文档属性(数据)。

    也就是说,收到请求的URL的域必须与当前Web页面的域相同。

    同源策略是浏览器最核心也是最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。

    3.产生跨域的情况

    3.1域名不同

    3.2协议不同

    3.3端口不同

    3.4域名和域名对应的ip地址也会产生跨域,比如:localhost和127.0.0.1产生跨域

    3.5一级域名和二级域名也会产生跨域