当协议、子域名、主域名、端口号中任意一个不相同时,都算作不同域。不同域之间相互请求资源,就算作“跨域”。
有一点必须要注意:跨域并不是请求发不出去,请求能发出去,服务端能收到请求并正常返回结果,只是结果被浏览器拦截了。之所以会跨域,是因为受到了同源策略的限制,同源策略要求源相同才能正常进行通信,即协议、域名、端口号都完全一致。
第一:如果是协议和端口造成的跨域问题“前台”是[无能为力]
第二:在跨域问题上,域仅仅是通过“URL的首部”来识别而不会根据域名对应的IP地址是否相同来判断。“URL的首部”可以理解为“协议, 域名和端口必须匹配”**
方法1.jsonp 只能是get, 原理是script标签没有同源策略限制 JQ 对jsonp进行了简化,只需要datatype = 'jsonp'即可
方法2.CORS Access-Control-Allow-Origin属性,指定同源策略的地址 在服务端做修改
方法3.$.getJSON()只要在地址中加上callback=?参数即可
方法4.porxy代理 axios 发送请求