PHP简单更改支持JSONP

这个问题是在Jquery Ajax进行跨域时遇到的,经过简单的研究,Kaijia总结了最快速使Ajax数据从单台服务器迁移到多台服务器的的方法。

首先将原有的Jquery代码中的dataType改成“jsonp”,具体代码如下:

1
2
3
4
5
6
7
8
9
$.ajax({
     async: false ,
     dataType: "jsonp" ,
     jsonp: "callback" ,
     success: function ( json ){
         alert( json );
     }
});

其他格式的代码也可以做这个更改,更多信息可以参考官方的jQuery.ajax()手册

PHP代码的修改比较快速,只需要将原先的代码最后修改并增加一行就可以了。在此处假定$data为需要输出的数据(数组):

1
2
$callback = isset( $_GET [ 'callback' ] ) ? $_GET [ 'callback' ] : 'callback' ;
echo $callback . '(' . json_encode( $data ) . ')' ;

来源:http://www.kaijia.me/2012/08/php-simple-modify-support-jsonp/

你可能感兴趣的:(jsonp)