sonp原理:
首先在客户端注册一个callback, 然后把callback的名字传给服务器。
此时,服务器先生成 json 数据。
然后以 javascript 语法的方式,生成一个function , function 名字就是传递上来的参数 jsonp.
最后将 json 数据直接以入参的方式,放置到 function 中,这样就生成了一段 js 语法的文档,返回给客户端。
客户端浏览器,解析script标签,并执行返回的 javascript 文档,此时数据作为参数,传入到了客户端预先定义好的 callback 函数里.(动态执行回调函数)
一、
function getSiteData(idSite, lastMinutes,index) {
$.ajax({
cache: false,
type: "get",
url: "http://baidu.com/index.php?module=API&method=Live.getCounters&format=JSON&token_auth=5450d4c72203c278e6ff67cd40bdd9ac&idSite=" + idSite + "&lastMinutes=" + lastMinutes + "&jsoncallback=?",
dataType: "jsonp",
success: function (data) {
$("#readvisits" + index).text(data[0].visits);
$("#readvisitors" + index).text(data[0].visitors);
}
})
}
二、
jquery跨域Ajax请求