我正在构建一个基于 HTML 的应用程序,用于使用 AlaSQL 查询导入的 CSV 文件。我从这个演示开始,并尝试onChange
通过 JQuery 而不是在标签中设置事件来实现相同的行为。我基本上遵循相同的模式,并天真地将事件传递给loadFile
方法。或者,我尝试alasql
在回调中直接处理请求。
html:
<input id="with-jquery" name="with-jquery" type="file" />
javascript:
$('#with-jquery').on('change', function(event)
{
console.log('in jquery callback');
filename = $('#with-jquery').val();
console.log("filename: " + filename);
alasql('SELECT * FROM FILE(?,{headers:true})',[event],function(res){
console.log('in alasql callback');
data = res;
console.log(res);
document.getElementById("jquery-result").textContent = JSON.stringify(res);
});
//loadFile(event);
});
http://plnkr.co/edit/FOWwVsW7zAUGwv3BDBdN?p=preview
当我尝试使用 JQuery 处理程序加载文件时,我得到
in jquery callback
test.js:7 filename: C:\fakepath\sample.csv
alasql.min.js:13 Uncaught Error: Wrong usage of FILE() function
这里有一些问题:
- 我找不到 alasql 在
[event]
插槽中所期望的文档。 - 该
FROM FILE
方法与更具体FROM CSV
的方法有什么关系FROM XLSX
。 - wiki
FROM CSV
通过提供文件名来显示使用该方法。如果不提供本地文件的完整路径,我无法想象这将如何工作。但是你不能从浏览器中得到它。 - wiki还建议使用“ promise”格式。我将如何在这里实施?