-1

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 ファイル

    <?xml version="1.0" encoding="utf-8" ?>
    <notifications>

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

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

        </notification>

    </notifications>
4

1 に答える 1

2

置き換えると、コードは chrome と IE で動作します

xmlDocument.getElementsByTagName("haber");

xmlDocument.getElementsByTagName("notification");

また、I try it on localApacheなどのサーバーでホストされており、サーバーが実行されていることを確認してください。

古いコメント: ブラウザーの互換性と正しい ajax 呼び出しに関するこのリンクを確認してください

http://www.w3schools.com/ajax/ajax_xmlfile.asp

于 2013-01-28T15:53:47.737 に答える