JSONP(JSON with Padding)是一种跨域请求数据的方式,它通过动态创建<script>
标签,并在其src
属性中传递一个callback函数名来实现。
在PHP中,要输出JSONP格式的数据,你需要做以下几步:
-
获取callback参数的值。
-
准备好要输出的数据。
-
输出callback函数包裹的JSON数据。
以下是一个PHP脚本的示例,它输出JSONP格式的数据:
<?php
// 获取callback函数名
$callback = $_GET['callback'];
// 准备要输出的数据
$data = array('name' => 'John', 'age' => 30);
// 转换数据为JSON格式
$jsonData = json_encode($data);
// 输出JSONP格式数据
echo $callback . "(" . $jsonData . ");";
?>
<script src="http://yourdomain.com/jsonp.php?callback=handleResponse"></script>
handleResponse({"name":"John","age":30});
这个响应会调用页面中定义的handleResponse
函数,并将JSON数据作为参数传递给它。