ie  是  new  XMLrequest()那个吧   我也不太清楚 反正 看着 风格就不象  软软的东西

解决方案 »

  1.   


    function createXmlHttpRequest(type)
    {
        var xml_http;
        if(!type)  type = 'html';
        if(window.ActiveXObject)
        {
            try{
                xml_http = new ActiveXObject("Msxml2.XMLHTTP") ;
            }catch(e){
                try{
                    xml_http = new ActiveXObject("Microsoft.XMLHTTP");
                }catch(e){}
            }
        } 
        else if(window.XMLHttpRequest)
        {
            xml_http = new XMLHttpRequest();
            if(xml_http.overrideMimeType)
            {
                xml_http.overrideMimeType('text/' + type);
            }
        }
            return xml_http;
    }
    function xmlObjectConnect(xml_http,sUrl, sMethod, fnDone,element)
    {
        if( ! xml_http) return false;
        var b_complete = false;
        sMethod = sMethod.toUpperCase();
        xml_http.onreadystatechange  = function()
        {
            if(xml_http.readyState == 4 && !b_complete) if(xml_http.readyState == 4 && !b_complete)
            {
                b_complete == true;
                fnDone(xml_http,element);
            }
        }    try{
            if(sMethod == "GET")
            {
                xml_http.open(sMethod, sUrl, true);
            }
            else
            {
                xml_http.open(sMethod, sUrl,true);
                xml_http.setRequestHeader("Method","POST" + sUrl + "HTTP/1.1");
                xml_http.setRequestHeader("Content-Type","application/x-www-form-urlencoded");        }
            xml_http.send(null);
        }
        catch(e){  return false;}
        return true;        
    }var xsl_doc  ;
    if(navigator.appName == "Netscape")
    {
        xsl_doc = document.implementation.createDocument("", "doc", null);
        xsl_doc.async  = false;
        xsl_doc.validateOnParse = false;
    }
    else 
    {
        xsl_doc = new ActiveXObject("Microsoft.XMLDOM");
        xsl_doc.async = false;
        while(xsl_doc.readyState != 4){};
    }
    xsl_doc.load(cn_bbs + "search_xml.xsl");
    function get_data_from_server()
    {
        var search_string = document.getElementById("search_string_id").value;
        if(search_string.length < 1)
            return;
        var div_show = document.getElementById("search_result");
        var search_href = document.getElementById("search_href").value;
        var order = document.getElementById("order_by").value;
        
        div_show.innerHTML = "<pre> 正在加载中  ... ...</pre>";
        var xml_http_request = new  createXmlHttpRequest("xml");
        //var url =  search_href + "?search=" + search_string + "&order=" + order ;
        var url =cn_bbs + "/searchview.php?search="+ search_string;
        xmlObjectConnect(xml_http_request,url,"post",funAllDone,div_show);
        
    }
    function funAllDone(xml_http,element)
    {
        if(xml_http.responseText.length > 200)
        {
            {
                var xml_doc =  xml_http.responseXML;//问题一:这儿在 IE 中为空
    //而xml_http.responseText 为有效的xml 格式的字符串,可能有什么原因引起!
    //在firefox 中正常返回XMLDocument 对象
    //问题二 在firefox 不支持下面的转换  应该怎么办?
                element.innerHTML = xml_doc.transformNode(xsl_doc);
            }
        }
        else
            element.innerHTML = "<pre>没有找到帖子!</pre>";
    }
      

  2.   

    var xml_doc =  xml_http.responseXML;//问题一:这儿在 IE 中为空
    //而xml_http.responseText 为有效的xml 格式的字符串,可能有什么原因引起!
    可能服务器发过来时没有设置文档为text/xml.