jsonp的一个总体理念:
客户端让服务器返回数据的同时,
并告诉服务器,要调用哪个函数,
服务器就返回调用该函数的形式,并且数据作为该函数调用的参数
可以理解为:服务器最终就是返回一条js函数调用语句,类似如下:
xxx函数(数据);
具体代码:
客户端写法(jQuery)
$.ajax({
url : 请求地址,
data: 请求时要发送的数据,
dataType: "jsonp",
//成功后要做的事
success : function(){ .... }
})
客户端写法(原生js)
function test( data ){
console.log(data);//处理数据
}
var script = document.createElement("script");
script.src = "xxx.php?callback=test";
document.body.append(script);
服务器端:
<?php
$callback = $_GET['callback'];
$arr = array(....); //数据
$data = json_encode($arr);
echo $callback . "(" . $data . ")";
?> |
|