Izhuceul 发表于 2015-8-28 10:51:54

PHP中运用jQuery的Ajax跨域调用

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


View Code


1 function getData(){
2   $.getJSON("http://123.123.123.123/?callback=?",
3         {
4             "m":"data",// 指定php的文件名字
5             "act":"getdata",// 指定php文件中的方法
6             "name":"问题儿童"// 传入的参数
7         },
8         function(data) {
9             // 获得返回值
10         }
11   });
12 }
  对应链接下(123.123.123.123)的PHP文件,一般默认先调用index.php文件,通过index.php文件内的方法处理后,转到对应的php文件,并且找到对应的方法,执行之。
  index.php代码如下:


View Code


1 <?php
2 /**
3* 入口文件
4 */
5 $string = $_SERVER["REQUEST_URI"];// 获取访问的url
6 $m = get_m($string);
7 $file_path = "app/".$m.".php";
8 define('IS_INDEX',true);// 阻止直接访问app目录
9 require ($file_path);
10 /**
11 *
12 * 获取访问php文件
13 * @param string $url
14 */
15 function get_m($url){
16   $strings = explode('m=', $url);
17   $res = explode("&", $strings);
18   return empty($res)?'index':$res;
19 }
20
21 ?>
  data.php代码如下:


View Code


1 <?php
2
3 /**
4 * data文件
5 */
6
7 $act = !empty($_GET['act']) ? $_GET['act'] : '';
8
9 if ($act == 'getdata')
10 {
11   $name = "我的名字叫:".$_REQUEST['name'];
12   echo $_REQUEST["callback"]."(".json_encode($name).")";
13 }
14
15 ?>
  成功调用后,画面就能获取到返回的json数据了。
页: [1]
查看完整版本: PHP中运用jQuery的Ajax跨域调用