跨域就是跨域名或者跨端口进行调用。
只有请求者和被请求者的域名和端口完全一致,才不是跨域。
跨域问题:JS使用Ajax进行跨域请求,无法返回数据(json、xml等)
原因:浏览器基于安全考虑,不允许Ajax请求跨域调用数据
jsonp原理
js使用Ajax无法跨域调用数据(。。),但是可以跨域调用 js 数据。
解决跨域问题:
使被请求者返回的数据,是一个在 请求方预先定义好的函数 的执行代码。
即:
1、请求方,预定义一个函数 function demoFunction(data){。。}
2、请求方在发起Ajax请求时,将函数名作为参数,带到被请求方
3、被请求方用接收到的函数名,将实际应该返回的数据进行封装,目标:该方法的执行体:demoFunction( data );
4、请求方Ajax回调函数success中,data 就可以解析
通过请求 js 的方式,进行跨域调用。