本文章是基于jquery的ajax来实现数据跨域调用,主要是利用php实时返回json数据,这样就方便的实现的ajax跨域数据调用了。
jquery文件我这里不提供下载了,大家可以直接到google去下载哦,可以在页面定义一个调用方法,代码如下:
- function getData(){
-
- $.getJSON("http://123.123.123.123/?callback=?",
- {
- "m":"data",
- "act":"getdata",
- "name":"问题儿童"
- },
- function(data) {
-
- }
- });
- }
对应链接下(123.123.123.123)的PHP文件,一般默认先调用index.php文件,通过index.php文件内的方法处理后,转到对应的php文件,并且找到对应的方法,执行之。
index.php代码如下:
-
-
-
- $string = $_SERVER["REQUEST_URI"];
- $m = get_m($string);
- $file_path = "app/".$m.".php";
- define('IS_INDEX',true);
- require ($file_path);
-
-
-
-
-
- function get_m($url){
- $strings = explode('m=', $url);
- $res = explode("&", $strings[1]);
- return emptyempty($res[0])?'index':$res[0];
- }
data.php代码如下:
-
-
-
- $act = !emptyempty($_GET['act']) ? $_GET['act'] : '';
- if ($act == 'getdata')
- {
- $name = "我的名字叫:".$_REQUEST['name'];
- echo $_REQUEST["callback"]."(".json_encode($name).")";
- }
成功调用后,画面就能获取到返回的json数据了.
总结:方法简单的很就是利用了php的json_encode()函数把用户提交过来的数据我进行处理之后再输出json数据,jquery来接受这些数据就实现了我们要的跨域数据调用了。 |