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

php 实现jquery+ajax 跨域数据调用实例

发布:smiling 来源: PHP粉丝网  添加日期:2014-01-03 08:41:35 浏览: 评论:0 

本文章是基于jquery的ajax来实现数据跨域调用,主要是利用php实时返回json数据,这样就方便的实现的ajax跨域数据调用了。

jquery文件我这里不提供下载了,大家可以直接到google去下载哦,可以在页面定义一个调用方法,代码如下:

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

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

index.php代码如下:

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

data.php代码如下:

  1. /**  
  2. * data文件  
  3. */  
  4. $act = !emptyempty($_GET['act']) ? $_GET['act'] : '';  
  5. if ($act == 'getdata')  
  6. {  
  7. $name = "我的名字叫:".$_REQUEST['name'];  
  8. echo $_REQUEST["callback"]."(".json_encode($name).")";  
  9. }  

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

总结:方法简单的很就是利用了php的json_encode()函数把用户提交过来的数据我进行处理之后再输出json数据,jquery来接受这些数据就实现了我们要的跨域数据调用了。

Tags: jquery+ajax 数据 调用实例

分享到: