在客户端javascript文件中使用JSON数据

时间:2017-07-17 20:28:20

标签: javascript jquery json node.js express

我对node.js和express表示新手。我的问题是如何正确检索客户端javascript文件中的json数据,因为我得到了关于.json文件未找到的404代码。

我的文件结构是一个通用的快速结构,.json文件位于package.json文件和app.js正下方的nodeapp文件夹中。我试图从保存在public/javascripts文件夹中的javascript文件访问此文件,但似乎可以解决它。这是我试图在.js文件中实现的函数:

function getJSONData(){
    var json;
    $.getJSON('/public/web_text.json', function(data){

        json = data
    });
} 

1 个答案:

答案 0 :(得分:3)

选项1

你需要在express中设置静态文件,你可以这样做:

app.use(express.static(__dirname + '/public'))

然后,您可以从您的客户端拨打该电话(不包含公开前缀):

$.getJSON('/javascript/web_text.json', function(data){});

https://expressjs.com/en/starter/static-files.html

选项2

您的其他选择是通过sendFile http://expressjs.com/en/api.html#res.sendFile发送:

app.get('/public/web_text.json', (req, res) => {
    res.sendFile(__dirname + '/my_json_file.json');
});

然后在您的客户端中,您可以这样称呼它:

$.getJSON('/public/web_text.json', function(data){})