用php创建跨域访问的jsonp数据
<?php $data = '{}'; // json string if(array_key_exists('callback', $_GET)){ header('Content-Type: text/javascript; charset=utf8'); header('Access-Control-Allow-Origin: http://www.example.com/'); header('Access-Control-Max-Age: 3628800'); header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE'); $callback = $_GET['callback']; echo $callback.'('.$data.');'; }else{ // normal JSON string header('Content-Type: application/json; charset=utf8'); echo $data; }
JSONP使用示例
<script> function receiver(data){ console.log(data); } </script> <script src="data-service.php?callback=receiver"></script>
关于JSONP的字符串decode:php jsonp字符串格式化decode函数