PHP中运用jQuery的Ajax跨域调用实现代码

yipeiwu_com6年前PHP代码库
可以在页面定义一个调用方法,如下:
复制代码 代码如下:

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代码如下:
复制代码 代码如下:

<?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代码如下:
复制代码 代码如下:

<?php
/**
* data文件
*/
$act = !empty($_GET['act']) ? $_GET['act'] : '';
if ($act == 'getdata')
{
$name = "我的名字叫:".$_REQUEST['name'];
echo $_REQUEST["callback"]."(".json_encode($name).")";
}
?>

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

相关文章

PHP学习之数组的定义和填充

PHP的数组,说白了,就是关联数据每一条数组都是以[索引,值]的形式保存的。其中索引默认是以0开始的数字。在未指定索引时,PHP会从0开始自动生成索引。当指定一个索引,PHP会从你指定索...

如何在旧的PHP系统中使用PHP 5.3之后的库

如何在旧的PHP系统中使用PHP 5.3之后的库

所谓老的系统,是指没有使用PHP 5.3以上命名空间(namespace)特性编码的系统。 但是,只要你的系统运行在 PHP 5.3及以上的环境,在你的老系统中,是可以使用这些基于新特性...

PHP 编程安全性小结

规则 1:绝不要信任外部数据或输入   关于 Web 应用程序安全性,必须认识到的第一件事是不应该信任外部数据。外部数据(outside data) 包括不是由程序员在 PHP 代码中直...

PHP CodeBase:将时间显示为&quot;刚刚&quot;&quot;n分钟/小时前&quot;的方法详解

在很多场合为了显示出信息的及时性,一般会将时间显示成“刚刚”,“5分钟前”,“3小时前”等,而不是直接将时间打印出来。比如微博,SNS类应用就最长用到这个功能。而一般存储在数据库中的时间...

PHP中防止SQL注入攻击和XSS攻击的两个简单方法

mysql_real_escape_string() 所以得SQL语句如果有类似这样的写法:"select * from cdr where src =".$userId; 都要改成 $...