要实现跨领域,我们应该从基础知识开始。
什么是域
简而言之,计算机网络中的安全边界是一个域。JS的跨领域是实现不同领域之间的信息获取。只要其中一个端口、协议和主机名不同,即不同的域,跨域技术就会被用来访问数据。
使用JSONP实现跨域。主要出于安全策略考虑,在JS中直接使用XHR访问不同域上的数据是不可行的。允许在浏览器页面上引入具有不同域的JS脚本,JSONP只是利用这个特性来实现跨域操作。
举个简单的例子,HTML页面中的脚本需要使用Ajax来获取不同领域的JSON数据。如果要访问的域是http://kuayu.com/data.php,,HTML中的脚本可以这样编写。
callback是一个参数名称,已经和通常的数量一起使用,也可以根据自己的习惯使用其他名称。为了减少不必要的事故,建议使用通常的用法。这个定制的DO or函数是跨域获得的JSON数据,被用作DO or的参数,从而实现跨域数据采集,并在采集后的JSON日期运行。
说白了,需要获取数据URL地址的脚本被插入页面,需要处理的函数被附加在URL的末尾。这个方法在jQuery中封装成一个更简单的函数,并且$。get JSON方法将自动确定它是否是跨域的,如果不是,它将调用普通的Ajax方法。跨域以异步加载JS文件的形式调用JSONP的回调函数。
领取专属 10元无门槛券
私享最新 技术干货