获取CSV文件的jQuery时出错

获取CSV文件的jQuery时出错,jquery,csv,get,Jquery,Csv,Get,以下是我的相关jQuery代码: $.get('sampleData.csv', function(data) { var lines = data.split('\r\n'); $.get('data.csv', function(data) { var lines = data.split('\r\n'); }); sampleData.csv文件的前几行如下所示: 2009,0,2,29.0000 2009,06655.6200 我有两个错误。 在csv文件的第一行,我得到

以下是我的相关jQuery代码:

$.get('sampleData.csv', function(data) {
    var lines = data.split('\r\n');
$.get('data.csv', function(data) {
  var lines = data.split('\r\n');
});
sampleData.csv文件的前几行如下所示:

2009,0,2,29.0000
2009,06655.6200

我有两个错误。 在csv文件的第一行,我得到了错误

语法错误

在代码的第二行,我得到了错误

data.split不是一个函数

我做错了什么


ETA根据firebug控制台,响应文本如下:

$.get('http://url.to.server.page',function(data){
    var dataStr = new String(data);
    var lines = dataStr.split('\n');
},dataType='text');
2009,0,2,29.0000\r\n2009,…\r\n2011,10,30494.3500\r\n

ETA在尝试将数据拆分为行之前,我添加了一个数据警报,我得到以下信息:

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


你快到了。缺少最后一个括号,需要另一个拆分字符

$.get('sampleData.csv', function(data) {
var lines = data.split(',');
});
编辑

啊,你把你的CSV改成了两行,我想这只是一行用逗号分隔的数据,而不是新行也用逗号分隔的数据。下面的测试我重新测试过,效果很好

<html>
<head>
<script type="text/javascript">Jquery Reference or insert directly here </script>
</head>
<body>
<script>
$(document).ready(function(){

    $.get('csv.csv', function(data) {
    // Split the lines
    var lines = data.split('\n');
    var i = 0;

    for(i=0; i<lines.length; i++)
    {
       alert(lines[i]);
    }

}); 

});
</script>
</body>

</html> 

Jquery引用或直接在此处插入
$(文档).ready(函数(){
$.get('csv.csv',函数(数据){
//分道扬镳
变量行=data.split('\n');
var i=0;

对于(i=0;i我相信您误解了jQuery.get()的用途

从中,
“…使用HTTP GET请求从服务器加载数据…”

对文件执行$.get()操作不会将该文件的数据转换为可使用的结构。您必须通过服务器请求此操作,然后服务器将提供.csv数据…它应该如下所示

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

编辑:: 既然你说数据“加载”正确,试试这个。它工作得很好


编辑2::

您上次的编辑提供了一些有趣的见解。当它提取.csv文件时,它会将其转换为XML与文本类型。请尝试以下操作:

$.get('http://url.to.server.page',function(data){
    var dataStr = new String(data);
    var lines = dataStr.split('\n');
},dataType='text');
这应该将返回的“数据”转换为正确的字符串格式。

jQuery代码:

$.get('sampleData.csv', function(data) {
    var lines = data.split('\r\n');
$.get('data.csv', function(data) {
  var lines = data.split('\r\n');
});
工作到jquery 1.5版。
从版本1.5开始,get()方法中的回调函数被传递给“jqXHR”对象,而不是“XMLHttpRequest”对象。
代码可以更改为:

$.get('data.csv', function(data) {
  var lines = data.split('\r\n');
}, "text");
那就行了


您得到的具体语法错误是什么。根据firebug控制台,它似乎正确地检索了数据。您的第一个答案(jQuery get)似乎是正确的。谢谢!