0

我想从一个 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

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

4

1 回答 1

0

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

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

  2. 使用绝对地址url

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

于 2013-08-30T16:42:27.983 回答