CSV文件变量挣扎,使用papaparse

时间:2014-12-02 13:38:41

标签: javascript csv papaparse

好的,目标是从文件中复制CSV并将其作为字符串存储在javascript中。

使用Papaparse我已经设法从CSV文件中获取内容但我似乎无法将字符串保存在papaparse之外以用于另一个脚本。

我对javascript非常新,所以要善良:)

while循环是将格式调整为我需要的格式,但是如果我可以获取数据,我可以在当前所在的位置之外执行此操作。欢迎任何帮助,因为这让我疯了!非常感谢!! :d

<title>Test stuff</title>
<script src="./Plugins/papaparse.js"></script>
</head>
<body>
<p id="demo"></p>
<script>
Papa.parse("http://test_server/OpenSiteVisitTickets.csv", {
download: true,
complete: function(results) {
console.log("Remote file parsed!", results);
    var i= 0, x= [1],cname= [1],postc= [5],alenth = results.data.length -2;
        locations= [];
        while ( i < alenth )
            {
            var ltemp =[];

            ltemp = "[" + results.data[x] [cname] +", "+results.data[x] [postc] +"] ";
                locations = locations.concat(ltemp);
            i++,x++;
            }
    document.getElementById("demo").innerHTML = locations;
     }
    });
 </script>
 <script>
  // other script goes here and picks up locations var todo its funky shiz :)
 </script>

 </body>
 </html>

1 个答案:

答案 0 :(得分:2)

感谢Matt的回答; 并感谢Nepeo为您提供有关全局变量的建议;

通过网络解析文件是异步的,因此在执行完整功能之前,您获得的任何结果都将无法使用。 &#34;其他脚本在这里&#34;需要等到完全回调被触发;或者更可能的是,完整的回调必须调用该代码。 - 马特2天前

创建全局变量的一种更简洁的方法是使用window.locations = ...或者更好的是只写var变量位置;在文件的顶部并将其设置在回调中。 @Matt是对的,你可能会遭受异步痛苦! - nepeo 2天前