jQuery获取CSV文件时出错

这是我的相关jQuery代码
$.get('sampleData.csv',function(data) {
    var lines = data.split('\r\n');

sampleData.csv文件的前几行如下所示:

2009,2,29.0000
2009,6,655.6200

我得到2个错误.
在csv文件的第一行,我收到错误

Syntax error

在第二行代码我得到错误

data.split is not a function

我究竟做错了什么?

ETA根据firebug控制台,responseText如下:

2009,29.0000\r\n2009,…\r\n2011,10,30,494.3500\r\n

ETA我在尝试将数据拆分成行之前添加了数据警报,我得到以下结果:

[Object XMLDocument]

解决方法

我相信你误解了jQuery.get()的用法.

从它的doc page,“……使用HTTP GET请求从服务器加载数据….”

文件执行$.get()不会将该文件的数据转换为可以使用的结构.你必须通过服务器请求这个,然后提供.csv数据…它应该类似于以下内容

$.get('http://url.to.server.page',function(data){
    var dataStr = new String(data);
    var lines = dataStr.split('\n');
});

编辑::
既然你说数据正在“正确加载”,试试这个fiddle.它运行得很好.

EDIT2 ::

您的上一次编辑给了一些有趣的见解当它拉动.csv文件时,它将其转换为XML与文本的类型.请尝试以下方法

$.get('http://url.to.server.page',function(data){
    var dataStr = new String(data);
    var lines = dataStr.split('\n');
},dataType='text');

这应该将返回的’数据’放入正确的字符串格式.

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: <span id=&quot...
jQuery 添加水印 <script src="../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...