我正在尝试使用xhr2来读取一个json文件。我已经寻找了很多方法来实现这个目标,但是似乎没有一个是有效的。在我的require语句下面的函数是我最经常看到的函数。最终我希望实现的是通过阅读多个json文件来创建一个对象数组,以便在我试图创建的网站上填写一个选择订单表单。
var http = require('http');
const ROOT = "./root_html";
var fs = require('fs');
var url = require('url');
var mime = require('mime');
//var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
var XMLHttpRequest = require('xhr2');
var XMLHttpRequestUpload = XMLHttpRequest.XMLHttpRequestUpload;
//create the server
var server = http.createServer(handleRequest);
function readTextFile(file, callback) {
var rawFile = new XMLHttpRequest();
rawFile.overrideMimeType("application/json");
rawFile.open("GET", file, false);
rawFile.onreadystatechange = function() {
if (rawFile.readyState === 4 && rawFile.status == "200") {
callback(rawFile.responseText);
}
}
rawFile.send(null);
}
//usage:
readTextFile("/civs/specials.json", function(text){
var data = JSON.parse(text);
console.log(data);
});
我继续得到一个错误,并有一个非常困难的时间试图找到任何信息,为什么这个错误正在发生。
C:\cygwin64\home\User\node_modules\xhr2\lib\xhr2.js:205
throw new NetworkError("Unsupported protocol " + this._url.protocol);
1条答案
按热度按时间twh00eeo1#
您的本地电脑上可能没有正在运行的服务器。若要在本地电脑上运行服务器:
(1)打开终端
(2)
cd <designated folder>
(3)
http-server
(4)修改JS文件中与“指定文件夹”相关的文件位置
例如)“http://localhost:8080/相关文件夹/JSON文件”
(5)打开另一个终端
(6)
node <JS file>