以前写的一些部分代码,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){
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;
}
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;
}