JSONP是JSON with Padding的略称。它是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问(这仅仅是JSONP简单的实现形式)。
实现JSONP的javascript callback的形式
//添加<script>标签的方法
function addScriptTag(src){
var script = document.createElement('script');
script.setAttribute("type","text/javascript");
script.src = src;
document.body.appendChild(script);
}
window.onload = function(){
//将自定义的回调函数名result传入callback参数中
addScriptTag("localhost/bns-relation/index.php?r=BnsRelation/BnsOfProd&callback=result");
}
//自定义的回调函数result
function result(data) {
//我们就简单的获取数据
console.log(data);
}
callback=?这个是正如其名表示回调函数的名称,也就是将你自己在客户端定义的回调函数的函数名传送给服务端,服务端则会返回以你定义的回调函数名的方法,将获取的json数据传入这个方法完成回调。