jsonp和应用实例-2000万开房查询接口

jsonp,我个人的理解就是一个可以跨域的js接口,这个接口直接返回一个本地的function调用,其参数一般是json格式,数据来源于接口。好像比较费解。实例说明:

前段时间爆出2000万开房数据的漏洞,这里就是一个获取数据的jsonp接口:http://www.2dianying.net/kaifang.php?fun=callback&id=310104198405232812

提供了两个参数fun和id,其中id是身份证号码,接口会按照指定id返回json格式的开房数据,fun参数是关键,可以看到这个url直接返回的是一个js函数调用,而这个函数名又是调用方指定的,当然也需要在调用方的页面上实现具体的功能。

下面是一个简单的调用方接口实现代码:

function callback(json){
		for(var i=0; i < json.length; i++){
			document.write(json[i]["name"]+json[i]["address"]+json[i]["phone"]+json[i]["time"]);
		}
	}

看起来好像很简单啊,问题是怎样查询不同的id,并且实时返回数据呢?如果只是用script标签用src指定一个固定的接口地址,那只能获取一个固定的id的开房情况。

这个时候就要用到动态生成script标签的功能了,主流浏览器都支持的:

var otherid = "xxxxx";
var script = document.body.appendChild(document.createElement("script"));
script.src = "http://www.2dianying.net/kaifang.php?fun=callback&id="+otherid;

至此一个完整的jsonp应用实例就完成了。

发表评论