jsonp

luck 2011-03-22

jsonp 全名是 "json with padding",主要是为了避开“同源策略”而跨站传输数据。 

其实就是一种js和dom的使用模式:

比如说要根据一些数据想页面显示内容,但是内容是从其它domain取出来的,所以使用ajax

不能取(sameoriginpolicy),所以就采取这种方式。

同源策略基于这样一个事实:站点之间的dom互操作是受很大限制的,但是js可以。

因此就是通过动态的向dom中插入段js代码,然后执行它。这段脚本是怎么产生的?这是有你要访问的域决定的。通常采取这样一种方式:

先写好一个函数,然后告诉其它的域什么条件下执行这个函数。

functionshowMap(data){

}

otherDomain.jsp?callback=showMap

otherDomain.jsp:

获取并组织数据,

atend:

showMap({data1:111,data2:222});

返回上面这句js,

相关推荐