【发布时间】:2021-08-04 16:58:19
【问题描述】:
我有一个 txt 文件,其中包含我想要阅读的所有意大利语单词 (link) 的列表,然后将其转换为单词数组,但我有点卡在阅读部分。该文件最初是从网上下载的,因此它可能有也可能没有一些编码问题。
要读取文件,我使用的是 Fetch,与this post 的最佳答案中建议的代码相同。阅读后,如果我使用alert(storedText),则文本正确显示;但是,如果我尝试 var s = storedText.toString() 然后 alert(s) 我在警报框中得到“未定义”。
我猜在读取文件时有一些问题,但我对 JavaScript 比较陌生,我无法弄清楚究竟是什么问题。你们有什么想法吗?
编辑:这是我的完整代码
var storedText;
fetch('http://doodlemarty.unaux.com/wp-content/uploads/2021/08/parole.txt')
.then(function(response) {
response.setContentType("text/html;charset=UTF-8");
response.text().then(function(text) {
storedText = text;
done();
});
});
var s = storedText.toString();
var fullList = storedText.split('\n');
function test () {
//first try:
alert(storedText);
//second try:
alert(s);
//trying split:
alert(fullList[2]);
};
单击按钮时,我会执行测试功能。
【问题讨论】:
-
请出示您的代码
-
为什么需要toString就可以了?它已经是一个字符串。做一个 storedText.split(/\s+/) 得到的话。确保它是 UTF8 并且运行它的页面也有 UTF8 的元标记
-
我的感觉是你的第一个
alert在 promise 的then处理程序中,但第二个在外面,运行得太早,在这种情况下,这将是 this good old question 的副本,但是我们不看代码就无法判断。 -
@mplungjan 我尝试使用 toString 因为我遇到了拆分方法的问题(我得到了一个“未定义”)
-
@Martina 也很高兴看到这一点
标签: javascript fetch-api