我对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
});
}
答案 0 :(得分:3)
你需要在express中设置静态文件,你可以这样做:
app.use(express.static(__dirname + '/public'))
然后,您可以从您的客户端拨打该电话(不包含公开前缀):
$.getJSON('/javascript/web_text.json', function(data){});
https://expressjs.com/en/starter/static-files.html
您的其他选择是通过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){})