2011-12-13 16 views
1

私が取り組んでいるウェブサイトにJSONフィードを読み込もうとしています。私はオンラインで見てきましたが、多くの例があるようですが、リモートWebページのJSONをオブジェクトとして返す方法に関する情報はほとんどありません。JSONフィードをウェブサイトに表示

現在、以下のテストコードがあります。

JSONフィードは私のウェブページに入っています。 http://www.wowprogress.com/guild/us/frostmourne/Group+Therapy/rating.tier13_10/json_rank

現在の目的は、返されたJSONフィードを表示することです。そのため、私はその動作を知っているので、以下のスニペットで試しています。

<html> 
<title></title> 
<head> 
<script type="text/javascript"> 
    var xhttp = new XMLHttpRequest();  
var wowprogress 
//var xhttp = new ActiveXObject("Microsoft.XMLHTTP"); // Commented out currently, use for IE 
xhttp.open("GET","http://www.wowprogress.com/guild/us/frostmourne/Group+Therapy/rating.tier13_10/json_rank",false); 
xhttp.send(); 

var myJSONString = xhttp.innerTEXT; 
alert(myJSONString);  

var myObject = eval("(" + myJSONString + ")"); 
var myValue = myObject.realm_rank; 
    alert(myValue); 

    </script> 
    </head> 
    <body> 
    </body> 
    </html> 

何か助けがあれば幸いです。

ありがとう:)ありがとう:)

+1

同じ発信元ポリシーを使用すると、AJAX要求を別のドメインに作成できなくなります。おそらく、プロキシまたはJSONPラッパーを実装する必要があります。 – Daff

答えて

1

あなたはクロスドメインの問題にぶつかっていると思います。デフォルトでは、XHR(ajax)を使用してホストページとは異なるドメインにあるドキュメントを取得することはできません(これにはサブドメインも含まれます)。

  • CORS

    は、いくつかの回避策がある、それはあなたが

  • JSON-Pを所有していないサーバー上の設定が必要ですので、これは、おそらくオプションではありません:これはオプションかもしれリモートサーバーがそれを理解している場合基本的にJSONレスポンスで、関数呼び出しでラップされるため、ページにプレーンJSとして含めることができます。

  • プロキシ:同じドメインにajaxリクエストを作成できるように、プロキシをサーバーに作成します。 Ben Almanは単純な例を持っていますhere

要するに、JS経由でページにリモートドキュメントを読み込むためには、別のトランスポートメカニズムが必要になります。

私は助けてくれることを願っています!乾杯。

1

まず、絶対に評価を使用しないでください。その恐ろしいほど安全ではない。

JSON.parse(your_json)を使用して、データをオブジェクトリテラルに変換します。あなたはそれを完了し、それをトランスポートのためにパッケージ化したいときはJSON.stringify(your_json);

関連する問題