2011-11-10 10 views
0

RedditからJSONフィードを取得して自分のサイトに投稿することも可能ですか?私は2つの方法で試しましたが、どちらもうまくいかないようです。RedditのJSON

まずアプローチ

$.getJSON('http://www.reddit.com/.json?feed=HASH_HERE&user=USER_HERE', function (data) { 
    alert(data); 
}); 

出力

XMLHttpRequest cannot load http://www.reddit.com/.json?feed=HASH_HERE&user=USER_HERE. Origin http://localhost:14102 is not allowed by Access-Control-Allow-Origin.

第二のアプローチ

var url = "http://www.reddit.com/.json?feed=HASH_HERE&user=USER_HERE"; 
$.getJSON(url + "?callback=?", null, function (data) { 
    alert(data); 
}); 

出力

Uncaught SyntaxError: Unexpected token : 

答えて

1

これは、クロスドメインの問題です。 Redditは結果をjson形式で与えていますが、これは2番目のオプションのようにgetJSONを使ってドメイン間要求を行うだけでは不十分です。上記のコードのURLのための

FlickrのWebサービスについては、以下のいずれかを確認してください、

<script> 
$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?", 
    { 
    tags: "cat", 
    tagmode: "any", 
    format: "json" 
    }, 
    function(data) { 
    $.each(data.items, function(i,item){ 
     $("<img/>").attr("src", item.media.m).appendTo("#images"); 
     if (i == 3) return false; 
    }); 
    });</script> 

Ref url

これをチェックしてください。siteは、クロスドメインリクエストのリアルタイムの例を示しています。

0

あなたはそれをフェッチし、ので、同一生成元ポリシーを、あなたのJavaScriptでそのスクリプトからあなたのJSONを得るためにあなたのサイトにサーバー側のスクリプトを作成する必要があります。

さらに読書:http://en.wikipedia.org/wiki/Same_origin_policy

関連する問題