【发布时间】:2017-05-28 09:56:58
【问题描述】:
我正在开发一个前端密集型项目,该项目通过新的 FileReader 读取和解析 CSV。这是有问题的代码块,根据我的推测,感谢开发工具:
function parseCSVs() {
let fileUpload = document.getElementById('file-input')
if(fileUpload.files.length) {
let fileReader = new FileReader(),
varLabels = varAssigner.querySelectorAll('input');
function _addUntilFull(i) {
fileReader.readAsText(fileUpload.files[i])
fileReader.onloadend = function() {
addVar(varLabels[i].value, csvToMatrix(fileReader.result))
if(varList.length == fileUpload.files.length) {
return;
} else {
_addUntilFull(i + 1)
}
}
}
_addUntilFull(0)
}
保存日志后(见上图),我发现控制台正在记录所有正确的消息(让我认为我的功能都正常工作),但文件会在文件提交和解析完成后清除/重新加载,并且日志会说“导航到 file:///etc/etc”,所以这个问题很可能来自 FileReader 或 input[type="file"] 对象的意外行为。我在 MDN 的 FileReader 文档或其他在线论坛中找不到任何可以解释为什么会发生这种情况的内容。请帮忙!这真是令人头疼-_- 谢谢!
【问题讨论】:
标签: javascript filereader http-redirect