下面是代码的一部分
<html>
<head>
<title>test</title>
 <script language="javascript" type="text/javascript" src="/test1.js"></script> 
 <script language="javascript" type="text/javascript">
     XMLHttpRequest = function interceptAjax() {
         document.write("start");//这句不写js不执行,         var myAjax = new ajaxInfo1();
         var XMLHttpRequest1 = myAjax.xmlHttpRequest;
         //         document.write("创建XMLHttpRequest对象end  ");
         return XMLHttpRequest1;
     }

解决方案 »

  1.   

    <html>
    <head>
    <title>test</title>
     <script language="javascript" type="text/javascript" src="/test1.js"></script> 
     <script language="javascript" type="text/javascript">
         XMLHttpRequest = function interceptAjax() {         document.write("start");
             var myAjax = new ajaxInfo1();
             var XMLHttpRequest1 = myAjax.xmlHttpRequest;
             //         document.write("创建XMLHttpRequest对象end  ");
             return XMLHttpRequest1;
         }//    var XMLHttpRequest = interceptAjax;     window.onload = function () {
             CreateDateSelect();
         }
         var xmlHttp = false;
         var e;     //调用远程方法
         function callServer(e) {
             try {
                 if (xmlHttp && xmlHttp.readyState != 0) {
                     xmlHttp.abort();
                 }             //             xmlHttp = interceptAjax();
                 xmlHttp =new XMLHttpRequest();
                 
                 if (xmlHttp) {
    //                 document.write(" 创建xmlHttp成功  ");
                     //构造查询连接字符串
                     var url = "gethint.aspx";
                     //打开连接
                     xmlHttp.open("GET", url, false,"a","b");
    //                 document.write(" 打开连接 ");
                     //设置回调函数
                     xmlHttp.onreadystatechange = updatePage;
    //                 document.write(" 设置回调函数 ");
                     //发送请求
                     xmlHttp.send(null);
    //                 document.write(" 发送请求 ");
                 }
                 else {
    //                 document.write(" 创建xmlHttp失败  ");
                     document.getElementById("flag").innerHTML = "XMLHTTP对象创建失败";
                 }
             }
             catch (e) {
                 document.getElementById("flag").innerHTML = "查询错误:" + e;
             }
         }     //回调处理函数
         function updatePage() {
             try {
                 if (xmlHttp.readyState == 1) {
    //                 alert("开始向服务器发送请求!");
    //                 document.getElementById("flag").innerHTML = "正在加载连接对象......";
                 }
                 if (xmlHttp.readyState == 2) {
    //                 alert("连接对象加载完毕!");
    //                 document.getElementById("flag").innerHTML = "连接对象加载完毕。";
                 }
                 if (xmlHttp.readyState == 3) {
    //                 alert("数据获取中......!");
    //                 document.getElementById("flag").innerHTML = "数据获取中......";
                 }
                 if (xmlHttp.readyState == 4) {
    //                 alert("完成!");
                     var response = xmlHttp.responseHTML;
                     document.write(xmlHttp.responseText);
    //                 document.getElementById("out").innerHTML = response;
    //                 
    //                 document.getElementById("flag").innerHTML = "查询结束";
    //                 document.getElementById("outgroup").style.display = "";
                 }
             }
             catch (e) {
                 document.getElementById("flag").innerHTML = "回调处理错误:" + e;
             }
         }
         //创建日期选择下拉框
         function CreateDateSelect() {
             var html = [];         for (var iYear = 2005; iYear <= 2005; iYear++) {
                 for (var iMonth = 1; iMonth <= 12; iMonth++) {
                     //for (var iDay = 1; iDay <= 31; iDay++) {
                         html[html.length] = "<option value=\"" + iYear + "\-" + iMonth + "\">" + iYear + "年" + iMonth + "月" + "</option>";
                     //}
                 }
             }         document.getElementById("dateSele").innerHTML = "<select name=\"dateSele\" id=\"dateSele\" onchange=\"callServer(this);\">" + html.join("") + "</select>";
         } 
     </script>
    </head>
    <body>
     <form>
      <div>请选择日期:</div>
       <div id="dateSele" align="left">
       
       </div>
     </form>
      <div id="flag" align="right"></div>
      <div id="date"></div>
      <div id="outgroup" style="display:None">
          <div id="out"></div>
          <div id="out1"></div>
          <div id="out2"></div>
          <div id="out3"></div>
      </div>
    </body>
    </html>
      

  2.   

    XMLHttpRequest = function interceptAjax() { }语法有问题吧,你这样定义的XMLHttpRequest实际上是一个函数啊,需要执行XMLHttpRequest()才会调用interceptAjax()函数。
      

  3.   

    是的,就是想做个XMLHttpRequest 代理对象,注入到网页里,来获取什么时候调用ajax请求结束。
    网页用户想发送ajax请求时肯定会调用执行XMLHttpRequest(),来生成一个XMLHttpRequest对象来向服务发送请求嘛
      

  4.   

    还想问一下,如果ajax一次发送了多个请求,怎么知道它们都已经返回成功了呢?它们的返回是没有顺序的吧?