我是 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
您需要在 express 中设置静态文件,您可以这样做:
app.use(express.static(__dirname + '/public'))
然后您可以从您的客户端调用它(没有 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){})
关于javascript - 在客户端 javascript 文件中使用 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45153130/