PHP 如何接收Ajax传递来的jsonp数据
JSONP是一种跨域请求的解决方案,它是通过动态创建script标签的方式来实现的。因为script标签是可以跨域请求的,所以通过动态创建script标签,可以实现跨域请求数据。
在PHP中接收JSONP数据,需要通过$_GET来获取请求参数。JSONP请求参数一般包含一个回调函数的名称和需要传递的数据,例如:
http://example.com/data.php?callback=handleData&data={"name":"John","age":30}
其中,callback参数指定了回调函数的名称,data参数是需要传递的数据,是一个JSON格式的字符串。
在PHP中可以通过以下方式来获取JSONP数据:
$callback = $_GET['callback']; //获取回调函数名称
$data = $_GET['data']; //获取传递的数据
//将JSON格式的数据转换为PHP数组
$data = json_decode($data, true);
//调用回调函数,将数据以JSON格式返回
echo $callback . '(' . json_encode($data) . ')';
其中,json_decode()函数用于将JSON格式的数据转换为PHP数组,true参数表示转换为关联数组。最后,通过echo输出带有回调函数名称的JSON格式数据,完成JSONP数据的返回
原文地址: http://www.cveoy.top/t/topic/gDDF 著作权归作者所有。请勿转载和采集!