当前位置:首页 > PHP教程 > php高级应用 > 列表

PHP中运用jQuery的Ajax跨域调用代码详解

发布:smiling 来源: PHP粉丝网  添加日期:2022-07-22 08:14:28 浏览: 评论:0 

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

  1. function getData(){  
  2.  
  3. $.getJSON("http://123.123.123.123/?callback=?",  
  4.  
  5. {  
  6.  
  7. "m":"data",// 指定php的文件名字  
  8.  
  9. "act":"getdata",// 指定php文件中的方法  
  10.  
  11. "name":"问题儿童"// 传入的参数  
  12.  
  13. },  
  14.  
  15. function(data) {  
  16.  
  17. // 获得返回值  
  18.  
  19. }  
  20.  
  21. });  
  22.  

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

index.php代码如下:

  1. <?php  
  2.  
  3. /**  
  4.  
  5. * 入口文件  
  6.  
  7. */ 
  8.  
  9. $string = $_SERVER["REQUEST_URI"];// 获取访问的url  
  10.  
  11. $m = get_m($string);  
  12.  
  13. $file_path = "app/".$m.".php";  
  14.  
  15. define('IS_INDEX',true);// 阻止直接访问app目录  
  16.  
  17. require ($file_path);  
  18.  
  19. /**  
  20.  
  21.  
  22.  
  23. * 获取访问php文件  
  24.  
  25. * @param string $url  
  26.  
  27. */ 
  28.  
  29. function get_m($url){  
  30.  
  31. $strings = explode('m='$url);  
  32.  
  33. $res = explode("&"$strings[1]);  
  34.  
  35. return emptyempty($res[0])?'index':$res[0];  
  36.  
  37. }  
  38.  
  39. ?> 

data.php代码如下:

  1. <?php  
  2.  
  3. /**  
  4.  
  5. * data文件  
  6.  
  7. */ 
  8.  
  9. $act = !emptyempty($_GET['act']) ? $_GET['act'] : '';  
  10.  
  11. if ($act == 'getdata')  
  12.  
  13. {  
  14.  
  15. $name = "我的名字叫:".$_REQUEST['name'];  
  16.  
  17. echo $_REQUEST["callback"]."(".json_encode($name).")";  
  18.  
  19. }  
  20.  
  21. ?> 

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

Tags: jQuery Ajax跨域调用

分享到: