2011-10-25 17 views
2

リモートサーバーにホストされているCSVファイルがあります。 jQueryがそのファイルを消費してjQuery配列に変換できる方法はありますか?私はまだクロスサイトスクリプティングの問題に直面していますか?jQuery経由でリモートCSVファイルを使用しますか?

+0

これを試してください:http://stackoverflow.com/a/12289296/761963 –

答えて

4

あなたはSame Origin Policyによって課せられた制限に遭遇します。つまり、コンテンツが何であっても、AJAXの別のドメインへの呼び出しは禁止されていますが、(非常にまれな例外では)常に失敗します。

JSONP(主にAPIから返されるデータに適用)またはproxy the request through your own server/domainのいずれかを使用する必要があります。 CSV自体の消費

はかなり簡単です:

csv_arr = csvstring.split(/\n/); 
$.each(csv_arr, function(i,e){ 
    csv_arr[i] = e.split(','); 
}); 

編集:注意、@echobackが述べたように、私が引用された値の可能性を見逃しています。

幸運にも、there's an awesome plugin that turns CSV into JSON。ちょうどそれのように。

+0

引用符付きの文字列を考えてください。 '' hello、world "、1234'は3つではなく2つの要素です。 – harbichidian

+0

@echobackありがとう、私はそれを逃した。それに応じて答えを更新しました。 – vzwick

+0

csonv.jsが私にとって正しく動作していないようです(Firefox上)。私はD3を試してみよう:http://learnjsdata.com/read_data.html –

0

はい、クロスドメインの問題を解決する必要があります。あなたの最善のアプローチは、もう一方の側でWebサービスを使用し、JSONPとコールバックを介して消費することです。

0

クロスドメインの問題ではわかりませんが、jquery ajaxを使用して同じドメインのcsvファイルを取得した後、改行やカンマでjavascript split()を使用して配列を作成してください。