通过jQuery消费远程CSV文件?

时间:2011-10-25 23:33:42

标签: javascript ajax jquery csv

我在远程服务器上托管了一个CSV文件。有没有办法让jQuery使用该文件,以便将其转换为jQuery数组?我还会面临跨站点脚本问题吗?

3 个答案:

答案 0 :(得分: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。就像那样。

答案 1 :(得分:1)

是的,您仍然需要解决跨域问题。您最好的方法是在另一端使用Web服务,并通过JSONP和回调消费。

答案 2 :(得分:0)

我不确定跨域问题 - 但是已经使用jquery ajax从同一个域获取csv文件,然后在换行符和逗号上使用javascript split()来制作数组。