【问题标题】:How to get csv from url and transform it in array如何从 url 获取 csv 并将其转换为数组
【发布时间】:2013-08-30 16:25:44
【问题描述】:

我想从一个 url 获取一个 csv 文件并将其转换为一个数组。 所以这是我的代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <title>Temperatures</title>
  <script type="text/javascript" src="http://www.google.com/jsapi"></script>
  <script type="text/javascript" src="jquery.js"></script>
  <script type="text/javascript" src="jquery.csv-0.71.js"></script>
  <script type="text/javascript" src="jquery.csv-0.71.min.js"></script>

  <script type="text/javascript">
    google.load('visualization', '1', {packages: ['annotatedtimeline']});
    var csv_as_array = [];
    function drawVisualization() {


    $.ajax({
    url: "data.txt",
    aync: false,
    success: function (csvd) {
        csv_as_array = $.csv2Array(csvd);
    }, 
    dataType: "text",
    complete: function () {
        // use the array of arrays (variable csv_as_array)
       // for further processing
    }
  });


    [Google chart code]

    }

    google.setOnLoadCallback(drawVisualization);
  </script>
</head>
<body style="font-family: Arial;border: 0 none;">
    <div id="visualization" style="width: 1000px; height: 600px;"></div>
</body>
</html>

我的data.txt 与我的.html 文件位于同一文件夹中。

我知道success: function (csvd) { } 块没有被执行,因为当我写alert("toto"); 时,什么都没有发生。

另外,在complete: function () { } 块中,我写了alert(csv_as_array.length);,它总是显示0

错误可能只是缺少库的导入?

【问题讨论】:

    标签: javascript ajax arrays url csv


    【解决方案1】:

    如果success回调函数没有被调用,则表示发生了错误,如果有,error回调函数将被调用。你可以试试:

    1. 添加error函数,例如error: function(jqXHR, textStatus, httpError) { alert('Error: '+textStatus); alert(httpError); },这样的一行来检查错误。

    2. url中使用绝对地址

    您在aync: false - async 行中有错字,而不是aync

    【讨论】:

    • 谢谢,我已经测试了你告诉我的内容,现在可以了。但是我只能放一个本地网址(127.0.0.1/xxx.txt),我不能放一个外部网址。是否可以使用外部网址?所以这是我的代码:pastebin.com/3hZbTp0E
    • 编辑:在主页面获取 data.txt 后,我​​在 Firefox 的控制台中得到一个 NS_ERROR_FAILURE:'[18:10:06,557] GET xxx.com/data.txt [HTTP/1.1 200 OK 86ms] [18: 10:06,558] GET xxx.com/data.txt [HTTP/1.1 200 OK 86ms] -- [18:10:12,418] NS_ERROR_FAILURE: 失败@127.0.0.1/jqmin.js:6'
    • @tuxben 这个答案完美地描述了你的错误案例 - stackoverflow.com/a/11202198/2619810
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-08
    • 1970-01-01
    • 2023-03-17
    • 2021-11-09
    • 2014-11-23
    • 1970-01-01
    • 2016-12-24
    相关资源
    最近更新 更多