PHP简单更改支持JSONP
这个问题是在Jquery Ajax进行跨域时遇到的,经过简单的研究,Kaijia总结了最快速使Ajax数据从单台服务器迁移到多台服务器的的方法。
首先将原有的Jquery代码中的dataType改成“jsonp”,具体代码如下:
其他格式的代码也可以做这个更改,更多信息可以参考官方的jQuery.ajax()手册。
$.ajax({ url: "http://ajax.yoursite.com/api.php", async: false, dataType: "jsonp", jsonp: "callback", success: function( json ){ alert( json ); } });
PHP代码的修改比较快速,只需要将原先的代码最后修改并增加一行就可以了。在此处假定$data为需要输出的数据(数组):
$callback = isset( $_GET[ 'callback' ] ) ? $_GET[ 'callback' ] : 'callback'; echo $callback . '(' . json_encode( $data ) . ')';