在JavaScript中读取文本文件而无需输入

在JavaScript中读取文本文件而无需输入,javascript,json,typescript,filereader,Javascript,Json,Typescript,Filereader,希望这是一个直截了当的问题,但我想使用JavaScript读取与.js文件位于同一位置的文本文件。我已经阅读了文件阅读器的相关内容,并大致了解了其中的API,但是我看到的所有示例都使用作为捕获文件阅读器必须读取的文件对象的一种方式 此外,读取包含JSON数据的文本文件有多困难?理想情况下,我只想将一些数据存储为JSON并使用JavaScript读取。任何帮助都将不胜感激。谢谢 所以我得到了一些很好的回答,但我想把我的问题扩大一点。感谢您迄今为止所提供的一切 我使用的是TypeScript,所以j

希望这是一个直截了当的问题,但我想使用JavaScript读取与.js文件位于同一位置的文本文件。我已经阅读了
文件阅读器
的相关内容,并大致了解了其中的API,但是我看到的所有示例都使用
作为捕获
文件阅读器
必须读取的
文件
对象的一种方式

此外,读取包含JSON数据的文本文件有多困难?理想情况下,我只想将一些数据存储为JSON并使用JavaScript读取。任何帮助都将不胜感激。谢谢

所以我得到了一些很好的回答,但我想把我的问题扩大一点。感谢您迄今为止所提供的一切


我使用的是TypeScript,所以jQuery有点棘手(使用投影)。但是我发现了。这也是解决这个问题的好办法吗?谢谢

您可以将文本文件的位置作为url打开。文件将通过正常的GET请求发送到浏览器。当您想要读取JSON文件时,我建议使用JQuery。JQuery有一个名为getJSON的内置函数,它只是将JSON文件中的数据作为JS对象返回

$.getJSON(
    url,
    function(data) {
       //json is converted in 'data' object
    }
);

您是使用Node.js运行Javascript还是在浏览器中运行Javascript?您想读入用户提供的文件还是您的脚本已经知道的文件?我认为FileReader用于读取存储在用户计算机上的文件,这就是示例使用
标记的原因

使用Node.js在本地运行(不是在浏览器中),我读取的JSON文件如下:

var fileString = fs.readFileSync("./path/to/file/" + filename, {encoding: 'utf8'});
var fileObject = JSON.parse(fileString);
在浏览器中,可以使用jQuery读入如下文件:

var file_url = 'http://url/to/file/' + filename;
$.ajax({
    url: file_url,
    dataType: "json",
    success: function (json_response) {
        // Process the json_response
    },
    error: function () {
        // Handle the error.
    }
});
如果最终以其他方式读取文件,您仍然可以在浏览器中使用
JSON.parse()
。我希望这有帮助