json 只使用xhr2和javascript

fcg9iug3  于 2022-11-19  发布在  Java
关注(0)|答案(1)|浏览(100)

我正在尝试使用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);
twh00eeo

twh00eeo1#

您的本地电脑上可能没有正在运行的服务器。若要在本地电脑上运行服务器:
(1)打开终端
(2)cd <designated folder>
(3)http-server
(4)修改JS文件中与“指定文件夹”相关的文件位置
例如)“http://localhost:8080/相关文件夹/JSON文件”
(5)打开另一个终端
(6)node <JS file>

相关问题