在open之前加上这个
xmlHTTP.onreadystatechange = function () // 处理返回信息方法 start
{
if (msxml_http_request.readyState == 4) 
{ // 判断对象状态,readyState = 4,说明交互已经完成 if (msxml_http_request.status == 200) 
{ // 信息已经成功返回,开始处理信息
var strResult = msxml_http_request.responseText;
                            k();

else if (msxml_http_request.status == 404) 
{
alert("文件未找到!");
}
else 
{ //页面不正常
alert("\u60a8\u6240\u8bf7\u6c42\u7684\u9875\u9762\u6709\u5f02\u5e38\u3002!\n" + msxml_http_request.statusText);
}
}
};//处理返回信息方法 end

解决方案 »

  1.   

    上面的方法是交互成功后处理的方法,但是要掉函数也只能掉本页的。或者对返回值进行处理,就是上面的msxml_http_request.responseText
      

  2.   


    通过 a.htm 中的 readchild 函数已经把 server.asp 中执行的结果写到了 a.htm 中的层中来了啊。你的意思还是不能直接调用  server.asp 中的函数??
      

  3.   

    请注意,不是说在 a.htm 一打开就运行 server.asp 中的函数 k()而是在 a.htm 中点的时候才去运行 server.asp 中的函数 k().     <a  href="javascript:k()"> 运行 </a> 这才触发 函数 k()
      

  4.   

    ---------------页面  a.htm----------------  
     
    <a  href="javascript:k()">我想点此执行  server.asp  中的函数  k()</a>  
     
    <script  language=javascript>  
    readchild()  
    function  readchild()  
               {  
                                   dest  =  "server.asp?id=123";  
                                   var  xmlHTTP  =  new  ActiveXObject("Microsoft.XMLHTTP");        
                                   xmlHTTP.open("POST",dest,false);
           xmlHTTP.onreadystatechange = k();
                                   xmlHTTP.send();  
                                   divContent=xmlHTTP.responseText;  
                                   xmlHTTP=null;  
     
                                   divobj.innerHTML  =  divContent;    //  divobj  是一个层  
                 }    
     
    </script>  
    -----------------------页面  server.asp----------------  
    <script  language=javascript>  
       function  k()  
         {  
           alert("ok")  
         }  
    </script>  
    这样调用的就是a.htm通过responsTex里面k()