0

次のURLから XML データを表示する必要があります。

HTML ページにアクセスしたときに自動的に読み込まれる HTML テーブルに変換します。

これまでのところ、私は次のものを持っていますが、うまくいかないようです.W3チュートリアルからのものです:

<html>
    <body>
        <script>
            if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari   
                xmlhttp = new XMLHttpRequest();
            }
            else {// code for IE6, IE5
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.open("GET","http://api.redfoundry.com/RFBase.ashx?type=get&name=b39d11d5-505f-453e-bcfc-9d3b19dd8a61&key=2469F6F56F61976FB51FDEC878E93555",false);
            xmlhttp.send();
            xmlDoc = xmlhttp.responseXML; 
            document.write("<table border='1'>");
            var x = xmlDoc.getElementsByTagName("item");
            for (var i=0; i<x.length; i++) { 
                document.write("<tr><td>");
                document.write(x[i].getElementsByTagName("placename")[0].childNodes[0].nodeValue);
                document.write("</td><td>");
                document.write(x[i].getElementsByTagName("description")[0].childNodes[0].nodeValue);
                document.write("</td></tr>");
            }
            document.write("</table>");
        </script>
    </body>
</html>

テーブルに表示する結果は、「アイテム ID」、地名、説明、および住所です。

4

1 に答える 1

1

ブラウザのエラー コンソールを確認してください。おそらく、アクセスが拒否されたことを示しています。通常、ブラウザー内の同じオリジン ポリシーにより、XMLHttpRequest が、スクリプトを含むドキュメントが読み込まれたオリジンとは異なるオリジンからデータを読み込むことができなくなります。したがって、サーバーが CORS をサポートするように設定されていて、CORSをサポートするブラウザーを使用していない限り、元のhttp://api.redfoundry.comから XMLHttpRequest を使用してドキュメントを読み込むことはできません。

于 2013-05-25T14:40:03.113 に答える