2016-02-13 106 views
0

我试图使用Javascript从CSV文件导入CSV数据。我写了代码,我不知道问题是什么。当我将HTML页面上传到我的网站时,它不起作用,脚本有点崩溃。我尝试了多种方式,但都没有成功。下面是代码:阅读服务器端CSV文件

$(document).ready(function() { 
    $.ajax({ 
    type: "POST", 
    url: "files/testfile.csv", 
    dataType: "text", 
    data: { 
     html: csv 
    }, 
    success: function(data) { 
     processData(data); 
    } 
    }); 
}); 

function processData(allText) { 
    var allTextLines = allText.split(/\r\n|\n/); 
    var headers = allTextLines[0].split(','); 
    var lines = []; 

    for (var i = 0; i < allTextLines.length; i++) { 
    var data = allTextLines[i].split(','); 
    if (data.length == headers.length) { 

     var tarr = []; 
     for (var j = 0; j < headers.length; j++) { 
     tarr.push(headers[j] + ":" + data[j]); 
     } 
     lines.push(tarr); 
    } 
    } 
    alert(lines); 
} 

帮助深表感谢

+1

如果您只是阅读已存在于服务器上的.csv文件,则应该使用GET而不是POST。另外,为什么要将数据发送到文件以及什么是csv变量?我无法在任何地方看到它。 – HaukurHaf

+0

检查控制台是否有错误。另外@HaukurHaf指出了你应该检查的代码中的一些奇怪点。 –

+0

@HaukurHaf你在哪里看到发送数据到CSV文件,你是什么意思的CSV变量? ,如果你看到任何错误,你能否正确地使用?谢谢 –

回答

2

试试这个:

$(document).ready(function() { 
    $.ajax({ 
    type: "GET", 
    url: "files/testfile.csv", 
    dataType: "text" 
    success: function(data) { 
     processData(data); 
    } 
    }); 
}); 

如果它还是不能正常工作,请检查您的浏览器控制台中的错误。您也可以尝试在其中放置一些console.log()行来查看发生了什么。

+0

错误是:未能加载资源http://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min。 jsthe服务器响应状态为404(确定) –

+0

嗯如果您尝试在浏览器中打开此文件,则它不存在。使用此路径,而不是://code.jquery.com/jquery-1.12.0.min.js – HaukurHaf

+0

我发现问题:我改变了1.12.3到1.12.0和HTTPS到http,它工作:),非常感谢你的帮助 –