跨域请求(访问):一个域名下的文件请求另外一个域名下的资源,就产生了跨域。
script标签的src:
--可以跨域,用script标签加载资源是没有跨域问题的
--被包含的资源可以是任何类型的文件(可以是txt,php等),只要保证内容是合法js即可,不认后缀,只认内容。
原理:在资源加载进来之前定义好一个函数,这个函数接收一个参数(数据),函数里面利用这个参数做一些事情。然后需要的时候通过script标签加载对应远程文件资源,当远程的文件资源被加载进来的时候,就会去执行前面定义好的函数,并且把数据当作这个函数的参数传入进去。
jsonp有限制,只能用于get请求。
<script>
function fn1(data) {
var oUl1 = document.getElementById('ul1');
var html = '';
for (var i=0; i<data.length; i++) {
html +='<li>'+data[i]+'</li>';
}
oUl1.innerHTML = html;
}
window.onload =function() {
var oBtn1 = document.getElementById('btn1');
oBtn1.onclick = function() {
var oScript = document.createElement('script');
oScript.src ='getData.php?callback=fn1';
document.body.appendChild(oScript);
}
}
</script>