在 PHP 中使用 JSONP 返回数据时,需要将回调函数作为参数传递给服务器端脚本,并将该回调函数作为 JSON 数据的一部分返回给客户端。下面是一个简单的示例:
<?php
// 获取回调函数名
$callback = $_GET['callback'];
// 数据
$data = array('name' => 'john', 'age' => 30);
// 将数据转换为 JSON 格式
$json = json_encode($data);
// 返回 JSONP 数据
echo $callback . '(' . $json . ')';
?>
在客户端,你可以使用 JavaScript 来发起 JSONP 请求,并指定回调函数名,如下所示:
var url = 'http://example.com/jsonp.php?callback=myCallback';
var script = document.createElement('script');
script.src = url;
document.body.appendChild(script);
function myCallback(data) {
console.log(data);
}
在上面的示例中,服务器端返回的数据会被传递到 myCallback
函数中进行处理。这样就实现了在 PHP 中设置回调函数的功能。