PHP简单更改支持JSONP
08/07/2012
这个问题是在Jquery Ajax进行跨域时遇到的,经过简单的研究,Kaijia总结了最快速使Ajax数据从单台服务器迁移到多台服务器的的方法。
首先将原有的Jquery代码中的dataType改成“jsonp”,具体代码如下:
1 2 3 4 5 6 7 8 9 |
$.ajax({ url: "http://ajax.yoursite.com/api.php", 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 ) . ')'; |
评论