我自己在用的一些Ajax和javascript代码。

为了跟上潮流,体验一下ajax技术(网上称呼:ajax无刷新技术)。最近看了jQuery.js和prototype.js,学了不少东西。与大家共享我在网上收集和自己整理的ajax类 和js代码。简单、实用。

//返回参数传入的id的那个元素。

function $(objID){

return document.getElementById(objID);

}



//返回任何输入表单控件的值。

function $f(objID){

return document.getElementById(objID).value;

}



//设置元素的html

function $h(objID,html){

$(objID).innerHTML=html;

}



//设置元素的text

function $t(objID,txt){ 

$(objID).innerText=txt; 

}



//隐藏element

function hide(objID){$(

objID).style.display="none";

}



//显示element

function show(objID){

$(objID).style.display="";

}



function updateObj(obj,data){

//该函数等于=$t(Obj,textstring)

var textNode = document.createTextNode(data);

document.getElementById(obj).appendChild(textNode);

//createTextNode 创建的是内容

//createElement   创建的标签

}



//ajax类

function AJAX() {

var XMLHttp = false;

var ObjSelf;

ObjSelf=this;

try { XMLHttp=new XMLHttpRequest; }

catch(e) {

   try { XMLHttp=new ActiveXObject("MSXML2.XMLHttp"); }

   catch(e2) {

    try { XMLHttp=new ActiveXObject("Microsoft.XMLHttp"); }

    catch(e3) { XMLHttp=false; }

   }

}

if (!XMLHttp) return false;

this.method="post";

this.url=""

this.url += (this.url.indexOf("?") >= 0) ? "&nowtime=" + new Date().getTime():"?nowtime=" + new Date().getTime();

this.async=true;

this.data="";

this.backtext=true

this.callback=function(){return;}

this.method=this.method.toLowerCase();

this.send=function() {

   if(!this.method||!this.url||!this.async) return false;

   XMLHttp.open (this.method, this.url, this.async);

  

   if(this.method=="post"){

    XMLHttp.setRequestHeader("Content-Length",(this.data).length);

    XMLHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

   }

  

   XMLHttp.onreadystatechange=function(){

    if(XMLHttp.readyState==4){

     if(XMLHttp.status==200){

      ObjSelf.callback();     

     }else {

    alert("您所请求的页面有异常。");

   }

    }

   }

   if(this.method=="post") XMLHttp.send(this.data);

   else XMLHttp.send(null);

}

this.gettext=function(){

   if(XMLHttp.readyState==4) {

    if(XMLHttp.status==200) {

     if (this.backtext==true){

      return XMLHttp.responseText;

     }else{

      return XMLHttp.responseXML;

     } 

    }else {

   alert("您所请求的页面有异常。");

}

   }

}

}

/*-----------------------------------------------------

补充:

Ajax的调用方法。ajax实例*/

//---------------------------

//--ajax读取程序,用get方法

function ajaxread(objID,lx,other){

var ajax=new AJAX();

ajax.method="get";

ajax.url="show.asp?lx="+lx;

ajax.callback=function(){

$h(objID,ajax.gettext());

}

ajax.send();

}

//--ajax保存数据,用post方法

function SaveData(){

var ajax=new AJAX();

ajax.method="post";       

ajax.url="SaveJsb.asp";

ajax.data="TmpContent="+escape($("TmpContent").value);

show("Div");

$t("Div","正在提交和保存数据...");

ajax.callback=function(){  

   alert(ajax.gettext()); //返回的是:responseText

   setTimeout("hide(‘Div’)",5000);//5秒后隐藏提示框.

}

ajax.send();

}

//--如果要放回xml,先设置:ajax .backtext=false; 再调用 ajax.gettext();则返回的是: responseXML。

//有什么问题可以QQ我:61788557

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值