2012-02-12 21 views
0

私は自分のサイトでホストされていないXMLファイルからデータを取り出す方法を見つけようとしています。私は全く新しいので、どこが間違っているのか分かりません。私は自分のサイトからそのデータを簡単に引き出すことができます。どんな助けもありがとう、ありがとう!あなたは、デフォルトでは、XMLデータを取得するためのクロスドメインリクエスト(same-origin policy)を行うことを許可されていないセキュリティ上の理由から外部サイトからXMLデータを取得する

<script type="text/javascript"> 
    if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
    else 
    {// code for IE6, IE5 
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 

    url = "http://elcu.herobo.com/testarea/include/cd_catalog.xml" 
    xmlhttp.open("GET",url,false); 
    xmlhttp.send(); 
    xmlDoc=xmlhttp.responseXML; 

    document.write("<table border='0' cellpadding='1' cellspacing='1' width'90%' id='1' class='tablesorter'><thead><tr> <th>Artist</th> <th>Title</th> <th>Country</th></thead><tbody>"); 

    var x=xmlDoc.getElementsByTagName("CD"); 
    for (i=0;i<x.length;i++) 
    { 
     document.write("<tr><td>"); 
     document.write(x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue); 
     document.write("</td><td>"); 
     document.write(x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue); 
     document.write("</td><td>"); 
     document.write(x[i].getElementsByTagName("COUNTRY")[0].childNodes[0].nodeValue); 
     document.write("</td></tr>"); 
    } 
    document.write("</tbody></table>"); 

答えて

0

。ドメイン間でデータを取得する場合は、通常、フォーマットとしてJSON-Pを使用するか、データにアクセスできるように独自のドメイン内にプロキシを設定する必要があります。

0

私はこれを書いてはいけないと思っていましたが、「これにはjQueryを使用することをお勧めします。サーバーにCORSヘッダーを戻してアクセスを許可しない限り、CORSに必要なJSON-Pもサポートしています。

0

サーバーにホストされていないページにアクセスできる場合は、JSONPを使用できます(詳しくはanswerを参照)。そうでない場合はPROXYを使用する必要がありますanswer)。

関連する問題