PHP中运用jQuery的Ajax跨域调用实现代码

  可以在页面定义一个调用方法,如下:

  

复制代码 代码如下:

  function getData(){

  $.getJSON("http://123.123.123.123/?callback=?",

  {

  "m":"data",// 指定php的文件名字

  "act":"getdata",// 指定php文件中的方法

  "name":"问题儿童"// 传入的参数

  },

  function(data) {

  // 获得返回值

  }

  });

  }

  对应链接下(123.123.123.123)的PHP文件,一般默认先调用index.php文件,通过index.php文件内的方法处理后,转到对应的php文件,并且找到对应的方法,执行之。

  index.php代码如下:

  

复制代码 代码如下:

  <?php

  /**

  * 入口文件

  */

  $string = $_SERVER["REQUEST_URI"];// 获取访问的url

  $m = get_m($string);

  $file_path = "app/".$m.".php";

  define('IS_INDEX',true);// 阻止直接访问app目录

  require ($file_path);

  /**

  *

  * 获取访问php文件

  * @param string $url

  */

  function get_m($url){

  $strings = explode('m=', $url);

  $res = explode("&", $strings[1]);

  return empty($res[0])?'index':$res[0];

  }

  ?>

  data.php代码如下:

  

复制代码 代码如下:

  <?php

  /**

  * data文件

  */

  $act = !empty($_GET['act']) ? $_GET['act'] : '';

  if ($act == 'getdata')

  {

  $name = "我的名字叫:".$_REQUEST['name'];

  echo $_REQUEST["callback"]."(".json_encode($name).")";

  }

  ?>

  成功调用后,画面就能获取到返回的json数据了。