因此,我正在尝试读取外部(例如来自其他域的)文本文件,但是我尝试过的任何方法都没有用。
通常会发生的响应是undefined
,或者根本没有响应。
这是我尝试过的一件事:
// package xmlhttprequest is installed
// this was copy-pasted from some other stackoverflow question
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
var txtFile = new XMLHttpRequest();
txtFile.open("GET", "https://snappeathing282346239557829348747259837723489.000webhostapp.com/pin.txt", true);
txtFile.onreadystatechange = function() {
if (txtFile.readyState === 4) { // Makes sure the document is ready to parse.
if (txtFile.status === 200) { // Makes sure it's found the file.
allText = txtFile.responseText;
lines = txtFile.responseText.split("\n"); // Will separate each line into an array
}
}
}
console.log(txtFile.send(null)) // Logs response to console
作为响应,我得到的是undefined
,如何记录而不是undefined
的123(txt文件包含的是123)?
答案 0 :(得分:0)
感谢@DaveNewton和@esqew建议使用fetch
api /程序包。
代码如下:
var fetchUrl = require("fetch").fetchUrl;
fetchUrl("http://snappeathing282346239557829348747259837723489.000webhostapp.com/pin.txt", function(error, meta, body){
console.log(body.toString());
});
它将日志123记录到控制台
答案 1 :(得分:0)
例如尝试节点获取
const fetch = require('node-fetch');
fetch('https://snappeathing282346239557829348747259837723489.000webhostapp.com/pin.txt')
.then(res => res.text())
.then(content => console.log(content))
.catch(err => console.error(err));