冰雨战士

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

这个问题是在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/

posted on 2012-12-06 10:30  冰雨战士  阅读(461)  评论(2)    收藏  举报