注册 登录
编程论坛 jQuery论坛

一段用JavaScript写的实现AJAX代码

bcyaya 发布于 2008-11-01 22:41, 3042 次点击
这段代码本人已经用了3,4年了并在多个大的项目中使用,应该没什么问题,现在贴出来和大家共享。

使用方法:
 假设一个网页中存在一个ID为,DIV_AJAX的DIV对象,url 为需要请求的网页
wait_str 为正在请求时显示的信息可以是HTML,error_str当请求什么的网页失败时间显示的详细
function ajax("DIV_AJAX","http://qq.,"正在读取数据请稍等...","抱歉数据请求失败!")
function ajax(obj,url,wait_str,error_str){  //ajax方法来发送数据;;;obj,DOM对象的ID,URL,请求的页面,wait_str,等待时显示的字符串
   
  var http_req;
 if (window.XMLHttpRequest)
 {
 http_req=new XMLHttpRequest();
 //http_req.overrideMimeType('text/xml');
 }
 else if (window.ActiveXObject) {
 http_req=new ActiveXObject("Microsoft.XMLHTTP");
 }
// document.getElementById(obj).innerHTML=wait_str;
 http_req.onreadystatechange = function(){
   if (http_req.readyState == 4) { //状态

   if (http_req.status == 200) { //成功返回
   if(http_req.responseText!=null && http_req.responseText!="")
   {
    document.getElementById(obj).innerHTML=http_req.responseText;
    }
    else
    {
      document.getElementById(obj).style.display="none";
    }
   }
   else { //返回不正常

    document.getElementById(obj).innerHTML=error_str;
   }
  }
 };
     http_req.open("GET", url, true);
     http_req.send(null);
  }
9 回复
#2
_断肠人_2008-11-21 23:44
顶下
#3
_断肠人_2008-11-24 21:34
真冷,怎么没人来回帖呢
#4
sldtk12008-11-25 16:49
加上try catch比较好
#5
it0012009-11-02 11:11
以下是引用sldtk1在2008-11-25 16:49:30的发言:

加上try catch比较好
#6
gyj52102011-04-15 09:27
能说具体点吗?不知道怎么做
1