PHP与ajax的交互

1 篇文章 0 订阅
1 篇文章 0 订阅

以前写的一些部分代码,PHP与ajax的交互,现在这种方式使用get的方式,function staff_handle_function为处理函数,比如新建一个ajax请求,传递参数等;stateChanged为状态发生改变时触发函数,这时候一般会对界面进行处理等操作,GetXmlHttpObject函数用于生成一个ajax请求。

//处理函数
function staff_handle_function(obj){
xmlHttp=GetXmlHttpObject();
if(null == xmlHttp ){
alert('您的浏览器不支持ajax,请换一个浏览器');
return;
}

var parameter = '?';
checkNumber = 0;
var formNode = obj.parentNode;
var inputNode = formNode.getElementsByTagName('input');

//生成参数
for(var i =0;i<inputNode.length;i++){
if('checkbox' == inputNode[i].type && true == inputNode[i].checked)
{
checkNumber = checkNumber + parseInt(inputNode[i].value,10);
if(parameter != '?') parameter = parameter + '&' + inputNode[i].id + '=' + inputNode[i].value;
else parameter = parameter + 'user_id=' + objectNode.id + '&' + inputNode[i].id + '=' + inputNode[i].value;
}
}

var url="staff_handle";
url = url + parameter;
url = url + "&sid=" + Math.random();
//ajax get形式获取参数
xmlHttp.onreadystatechange = stateChanged;
//true表示异步调用,客户端可以不必要等待服务器响应,先去执行其他脚本
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}

*****************************************************************************************************************************
//状态改变调用这个函数
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
var information = xmlHttp.responseText;

if(information){ //ajax调用成功
var div = objectNode.getElementsByTagName('div');
var length = div.length;
for (var i =length-1;i>=0;i--){
objectNode.removeChild(div[i]);
}

//未激活
if(checkNumber == 1){
var divNode = document.createElement('div');
divNode.className = 'not_active';
divNode.innerHTML = '未激活';
objectNode.appendChild(divNode);
return;
}
//员工
else if(checkNumber == 2){
return;
}
//有等级,比如总监之类
else{
if(checkNumber >= 16){
var divNode = document.createElement('div');
divNode.className = 'administrator';
divNode.innerHTML = '管理员';
objectNode.appendChild(divNode);
checkNumber = checkNumber-16;
}
if (checkNumber >= 8){
var divNode = document.createElement('div');
divNode.className = 'chief_inspector';
divNode.innerHTML = '总监';
objectNode.appendChild(divNode);
checkNumber = checkNumber-8;
}
if(checkNumber >= 4){
var divNode = document.createElement('div');
divNode.className = 'manager';
divNode.innerHTML = '经理';
objectNode.appendChild(divNode);
}
}

}
else alert('发生未知错误,请联系客服');
}

document.getElementById('layerBackground').style.display = 'none';
document.getElementById('light').style.display = 'none';
} 
********************************************************************************************
//生成ajax请求
function GetXmlHttpObject() {
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}

//处理函数
function  staff_handle_function(obj){
xmlHttp=GetXmlHttpObject();
if( null ==  xmlHttp  ){
alert( '您的浏览器不支持ajax,请换一个浏览器');
return;
}

var parameter =  '?';
checkNumber =  0;
var formNode = obj.parentNode;
var inputNode = formNode.getElementsByTagName( 'input');

//生成参数
for( var i = 0;i<inputNode.length;i++){
if( 'checkbox' == inputNode[i].type &&  true == inputNode[i].checked)
{
checkNumber = checkNumber + parseInt(inputNode[i].value, 10);
if(parameter !=  '?') parameter = parameter +  '&' + inputNode[i].id +  '=' + inputNode[i].value;
else parameter = parameter +  'user_id=' + objectNode.id +  '&' + inputNode[i].id +  '=' + inputNode[i].value;
}
}

var url= "staff_handle";
url = url + parameter;
url = url +  "&sid=" + Math.random();
//ajax get形式获取参数
xmlHttp.onreadystatechange = stateChanged;
//true表示异步调用,客户端可以不必要等待服务器响应,先去执行其他脚本
xmlHttp.open( "GET",url, true);
xmlHttp.send( null);
}

*****************************************************************************************************************************
//状态改变调用这个函数
function stateChanged()
{
if (xmlHttp.readyState== || xmlHttp.readyState== "complete")
{
var information = xmlHttp.responseText;

if(information){  //ajax调用成功
var div = objectNode.getElementsByTagName( 'div');
var length = div.length;
for ( var i =length- 1;i>= 0;i--){
objectNode.removeChild(div[i]);
}

//未激活
if(checkNumber ==  1){
var divNode = document.createElement( 'div');
divNode.className =  'not_active';
divNode.innerHTML =  '未激活';
objectNode.appendChild(divNode);
return ;
}
//员工
else if(checkNumber ==  2){
return ;
}
//有等级,比如总监之类
else{
if(checkNumber >=  16){
var divNode = document.createElement( 'div');
divNode.className =  'administrator';
divNode.innerHTML =  '管理员';
objectNode.appendChild(divNode);
checkNumber = checkNumber- 16;
}
if (checkNumber >=  8){
var divNode = document.createElement( 'div');
divNode.className =  'chief_inspector';
divNode.innerHTML =  '总监';
objectNode.appendChild(divNode);
checkNumber = checkNumber- 8;
}
if(checkNumber >=  4){
var divNode = document.createElement( 'div');
divNode.className =  'manager';
divNode.innerHTML =  '经理';
objectNode.appendChild(divNode);
}
}

}
else alert( '发生未知错误,请联系客服');
}

document.getElementById( 'layerBackground').style.display =  'none';
document.getElementById( 'light').style.display =  'none';
}  
********************************************************************************************
//生成ajax请求
function GetXmlHttpObject() {
var xmlHttp= null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp= new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp= new ActiveXObject( "Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp= new ActiveXObject( "Microsoft.XMLHTTP");
}
}
return  xmlHttp;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值