1

他の数人のスタックユーザーの助けを借りて、私はこれを思いついた:

http://jsfiddle.net/9ywLq/

外部のjsonファイルを使用して、次のようなものを考え出します。

http://jsfiddle.net/RCB9M/

現在リンクしているファイルはhttp://www.lofiz.co.uk/afba/songkickwidget/testjsondata.jsonですが、これは最終的にSongkickJSON出力に変更されます。

4

1 に答える 1

2

あなたは同一生成元ポリシーの犠牲者です。ブラウザは、セキュリティ上の理由から、デフォルトでクロスドメインでフェッチされたJSONをブロックします。データをクロスドメインで取得する必要がある場合は、サーバー側プロキシを実装するか、データがその形式で提供されている場合はJSONPを使用する必要があります。ソースがJSONPでデータを提供していない場合は、YQLを使用してデータを変換できると思います。

JSONPに関するリソース:http ://www.ibm.com/developerworks/library/wa-aj-jsonp1/

更新: URLは次のように呼び出されます:

​$(function(){
  var url = "https://api.songkick.com/api/3.0/artists/253846/calendar.json?apikey=HlgKnFaq9qYO1h9T&jsoncallback=?";
  $.getJSON(url, function(data){
    // Do what you want to do with the return data within this callback
    console.log(data);        
  });
});​

アップデート2:

で動作するようにJSFiddleを更新しましたgetJSON()。私はまた、他のいくつかの変更を行うために自由を取りました:

  1. 月の名前の配列の定義方法を変更して、読みやすくしました。
  2. .getDay()JavaScriptでは、曜日(0 =日曜日、1 =月曜日など)を返すために使用されます。月の日が必要だと思うので、.getDate()代わりに使用する必要があります。私のJSFiddleを参照してください。
于 2012-04-28T21:06:03.990 に答える