Chrome和IE上的Javascript XML读取错误

Chrome和IE上的Javascript XML读取错误,javascript,xml,xmlhttprequest,Javascript,Xml,Xmlhttprequest,它适用于Firefox,但不适用于Chrome和IE 我在本地试穿。 我在httpObj.send上得到错误(null);线路 我如何处理这个问题 HTML文件 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xh

它适用于Firefox,但不适用于Chrome和IE

我在本地试穿。 我在httpObj.send上得到错误(null);线路

我如何处理这个问题

HTML文件

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>XML READ</title>
    <script type="text/javascript">
//---
        function GetXml() {

            if (window.XMLHttpRequest) {

                var httpObj = new XMLHttpRequest();
            } else {

                var httpObj = new ActiveXObject("Microsoft.XMLHTTP");
            }

            httpObj.open("GET", "notification.xml", false);

        // Error Starts Here    
            httpObj.send( null );

            var xmlDocument = httpObj.responseXML;

            var xmlEl = xmlDocument.getElementsByTagName("haber");

  //--          
            for (i = 0; i < xmlEl.length; i++) {


                for (j = 0; j < xmlEl[i].childNodes.length; j++) {

                    if (xmlEl[i].childNodes[j].nodeType != 1) {
                        continue;
                    }

                    alert(xmlEl[i].childNodes[j].firstChild.nodeValue);
                }


            }



        }


    </script>
</head>
<body onload="GetXml()">
</body>
</html>
    <?xml version="1.0" encoding="utf-8" ?>
    <notifications>

        <notification id="001">
            <name>First</name>
        </notification>

        <notification id="002">
            <name>Second</name>

        </notification>

    </notifications>

XML读取
//---
函数GetXml(){
if(window.XMLHttpRequest){
var httpObj=new-XMLHttpRequest();
}否则{
var httpObj=新的ActiveXObject(“Microsoft.XMLHTTP”);
}
open(“GET”,“notification.xml”,false);
//错误从这里开始
httpObj.send(空);
var xmlDocument=httpObj.responseXML;
var xmlEl=xmlDocument.getElementsByTagName(“haber”);
//--          
对于(i=0;i
XML文件

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>XML READ</title>
    <script type="text/javascript">
//---
        function GetXml() {

            if (window.XMLHttpRequest) {

                var httpObj = new XMLHttpRequest();
            } else {

                var httpObj = new ActiveXObject("Microsoft.XMLHTTP");
            }

            httpObj.open("GET", "notification.xml", false);

        // Error Starts Here    
            httpObj.send( null );

            var xmlDocument = httpObj.responseXML;

            var xmlEl = xmlDocument.getElementsByTagName("haber");

  //--          
            for (i = 0; i < xmlEl.length; i++) {


                for (j = 0; j < xmlEl[i].childNodes.length; j++) {

                    if (xmlEl[i].childNodes[j].nodeType != 1) {
                        continue;
                    }

                    alert(xmlEl[i].childNodes[j].firstChild.nodeValue);
                }


            }



        }


    </script>
</head>
<body onload="GetXml()">
</body>
</html>
    <?xml version="1.0" encoding="utf-8" ?>
    <notifications>

        <notification id="001">
            <name>First</name>
        </notification>

        <notification id="002">
            <name>Second</name>

        </notification>

    </notifications>

弗斯特
第二

如果替换,您的代码可以在chrome和IE中工作


xmlDocument.getElementsByTagName(“haber”)


xmlDocument.getElementsByTagName(“通知”)

另外,当您说
我在本地尝试它时
请确保它托管在服务器(例如apache)中,并且服务器正在运行

旧评论: 检查有关浏览器可协作性和正确ajax调用的链接


为什么要在“发送”函数中传递null?我先尝试了不使用null,但它也不起作用,然后我看到了一些使用null来处理此问题的示例,但似乎对我没有用处。这是一个XML文件还是两个?如果是单个文件,我认为它应该有一个根元素此haber元素在xml中的何处?我假设它只是不完整的,所以您可以提供更多的xml数据吗?很抱歉,应该是:xmlDocument.getElementsByTagName(“通知”);但是我粘贴了它的旧版本,这不是真正的问题,它对我来说很有效。您还应该从该链接获取cd_catalog.xml,并将其与test.html页面放在同一文件夹中(包含tryit yourself链接中的html。我还假设您将这2个文件放在服务器上,而不仅仅是从桌面双击,否则它不会工作所有文件好的,但我不会在服务器上尝试它们,我只是在桌面上复制,我会在服务器上尝试并返回。它在服务器上工作,非常感谢。顺便说一句,为什么它在桌面上不工作?ajax调用是maki正在取消对服务器的请求。如果没有服务器正在运行,则不会收到响应