JavaScriptやjQueryを使って複数のCSV(2002.csv~2012.csv・計10ファイル程)を読み込み、変数へと格納したいのですが、いまいちやり方が思いつきません。どのような方法でやれば効率よく処理できますでしょうか?

CSV自体はWEBサーバー上に置いてあります。jQueryの$.postメソッドを使って試みましたが、うまくいきませんでした。どのような手順でデータを読み込めば良いでしょうか?

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/10/04 10:16:03
  • 終了:2012/10/11 10:20:03

回答(1件)

id:nakedfeels No.1

nakedfeels回答回数9ベストアンサー獲得回数32012/10/06 12:57:41

適当ですが。

$(document).ready(function($) {
  var result = {}, 
      deferred = $.Deferred(),
      years = []; 

  for (var i = 2; i <= 12; ++i) {
    years.push(2000 + i + "");
  }

  $.each(years, function(i, year) {
    deferred.then(function() {
      $.get("/" + year + ".csv", {}, function(data) {
        result[year] = data.split(/,/);
      }); 
    })  
  }); 

  deferred.then(function() {
    console.log(result);
  }); 

  deferred.resolve();
});

なお、Same origin policy があるため JavaScript が実行されるドメインとは別のドメイン上にある CSV ファイルを読むことはできません。そういう場合は jsonp や iframe を使った手法がありますが、ググればやり方が分かると思います。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません