...
本文章是基于jquery的ajax来实现数据跨域调用,主要是利用php实时返回json数据,这样就方便的实现的ajax跨域数据调用了。
jquery文件我这里不提供下载了,大家可以直接到google去下载哦,
可以在页面定义一个调用方法,如下:
代码如下 |
复制代码 |
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代码如下:
代码如下 |
复制代码 |
/** * 入口文件 */ $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代码如下:
代码如下 |
复制代码 |
/** * data文件 */ $act = !empty($_GET['act']) ? $_GET['act'] : ''; if ($act == 'getdata') { $name = "我的名字叫:".$_REQUEST['name']; echo $_REQUEST["callback"]."(".json_encode($name).")"; } ?> |
成功调用后,画面就能获取到返回的json数据了
总结:
方法简单的很就是利用了php的json_encode()函数把用户提交过来的数据我进行处理之后再输出json数据,jquery来接受这些数据就实现了我们要的跨域数据调用了。
本文地址:
转载随意,但请附上文章地址:-)