通过GetXmlHttpObject()对象的一些方法和PHP通信的.比如下面这段xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("您的浏览器不支持AJAX!");
return;
}
var url="getcustomer.php";
url=url+"?q="+str;
url=url+"sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
服务器端可以通过$_GET获得变量q的值,从而作出反应
怎么会有两个表单,在不同的页面上?
然后,你那个0.js文件是拿来做什么的?
直接调用不可能,但可以绕过去调用
a.php
php
$_SESSION['_TOKEN'] = $_token;
//....
html
...
form
input name="_TOKEN" value="?php print $_token; ?"
....
//这里说一下令牌,令牌一般是服务器端验证提交数据是否为合法
//与验证码功能差不多,不过验证码需要手动输入,这个是程序内部使用
处理post
if($_POST['_TOKEN'] == $_SESSION['_TOKEN'])
$_SESSION['_TOKEN'] = '';//清除令牌,防止网络延缓的再次提交.
然后是ajax
上面我为什么要在你原来的程序上加入令牌呢,因为可以随意的调用php函数是很不安全的,很容易被有心人利用,所以做一点安全保护,当然不一定绝对安全
function _new_ajax()
//创建XMLHTTPRequests
return xhr;
function _ajax(_option)//url, data, type, async
//初始化
if(typeof _option.url == 'undefined' || _option.url == '')
alert('ajax错误,没有定义请求路径');
return false;
_option.data = _option.data || {};
_option.type = _option.type || 'GET';
_option.async = _option.async || true;
_option.callback = _option.callback || function(){};
//开始请求
var xhr = _new_ajax();
if(typeof _option.data == 'string')
_option.url += (_option.url.match(/\?/) ? "" : "?") + _option.data;
else
for(var i in _option.data)
_option.url += (_option.url.match(/\?/) ? "" : "?") + i + '=' + _option.data[i];
xhr.open(_option.type, _option.url, _option.async);
xhr.onreadystatechange = function(){
var res = xhr.responseText;
_option.callback(res);
};
xhr.send(null);
xhr = null;
上面的是我简单写的,估计考虑不是很全
验证用户是否存在就这样
function check_user_id()
document.getElementById('useridexist').innerHTML = "Check the ID, Please wait...";
var user_id = document.login.userid.value;
//这里是上面说的,要直接使用函数库,必须安全验证
var _TOKEN = document.login._TOKEN.value;
_ajax({
url:'class/useridexist.php',
data:{_TOKEN:_TOKEN, function:check_user, id:user_id},//调用php函数check_user
callback:function(res){
document.getElementById('useridexist').innerHTML = res;
})
好了,准备就绪,现在看php端了
b.php
if($_GET['_TOKEN'] == $_SESSION['_TOKEN'])
//这里不清除令牌,因为提交post还要使用,验证在前,提交post在后
$function = $_GET['function'];
if(function_exists($function))
$function($_GET);
print '函数'.$function.'不存在';
//以下为函数库
function check_user($get)
//.....验证存在否,输出
需要先向目标Pager.php传值:
——即应该在ajaxSubmit()函数的" var URL="Pager.php?active_time_start="+start_time+"active_time_end="+end_time;"语句上再加上改变后的sql语句,然后再在"Pager.php"文件内予以执行,然后再将其(即Pager.php)执行结果传回!
如:var URL="Pager.php?......end_timeSql=Sql;"
可以在页面定义一个调用方法,如下:
复制代码
代码如下:
function
getData(){
$.getJSON("?",
"m":"data",//
指定php的文件名字
"act":"getdata",//
指定php文件中的方法
"name":"问题儿童"//
传入的参数
},
function(data)
//
获得返回值
});
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
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数据了.
以上就是土嘎嘎小编为大家整理的ajax嵌入php代码,php相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!