JSONP可以发送JSON格式数据到调用该数据的页面。
比如你需要在a.html页面内调用b.com网站上的数据。
首先可以在a.html页面内写好相关JS函数:
//该程序显示从远程服务器获得的json数据
var showJSONPData=function(data){
alert("name:"+data.name+" sex:"+data.sex+" age:"+data.age+" location:"+data.location);
};
//通过一个url地址,访问提供JSONP服务的远程服务器数据资源
var url="http://b.com/jsonp/personalinformation.jsp?id=123456&callback=showJSONPData";
//创建SCRIPT标签,并设置其src资源属性
var script=document.createElement("script");
script.setAttribute("src",url);
//把SCRIPT标签添加到网页头部,调用就将开始
document.getElementsByTagName("head")[0].appendChild(script);
提供JSON数据的服务器页面,比如这里的personalinformation.jsp页面,可以根据从a.html页面的资源URL请求,获取到request所取得一些参数,并据此生成一个JS脚本:
showJSONPData({
"name":"Jack Pony",
"sex":"male",
"age":"33",
"location":"universe"
});
JSONP可能比AJAX还要更加简易好用。