提前道歉,因为我对javascript很新。从本质上讲,我拼凑了2个脚本,我正试图开始工作。我知道javascript通常无法访问本地文件,但使用File object
可能有可能吗?
在下面的代码中,如果我选择的文件是CSV,如何将其传递给下一个功能$.get('data.csv', function(data)
,以便'data.csv'
实际上是选定的文件?
<html>
<script type="text/javascript">
document.getElementById('file').addEventListener('change', handleFileSelection, false);
function handleFileSelection(evt) {
console.log(evt);
var f = evt.target.files[0];
}
$(document).ready(function() {
$.get('data.csv', function(data) {
// Split the lines
var lines = data.split('\n');
//more code
});
});
</script>
<body>
<input type="file" id="file" name="file" />
<output id="list"></output>
</body>
</html>
答案 0 :(得分:1)
我在这里看到的第一个问题是你试图在创建实际元素之前添加事件监听器(正如RobG所说)。
我可以提到的第二个问题是您尝试使用$.get
来解析该本地CSV文件。如果您使用的是jQuery,那么$.get
会向某个URL发出GET异步请求,而这不是您需要的。您必须调查FileReader对象。我不熟悉它,所以我不能提供工作代码的示例,但您可以查找一些示例here。