一、获取网站接口的数据
// 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一级域名和二级域名也会产生跨域