【发布时间】:2019-05-17 02:30:01
【问题描述】:
我在 aws ubuntu 服务器上运行一个简单的 node.js Web 应用程序。我有一些来自 api 的 json 数据,这些数据已本地存储在 ubuntu 服务器上的一个名为 data.json 的文本文件中。
我只是想通过 AJAX 调用从 json 文件中加载该数据并将其呈现在客户端 html 上。
这是我的项目目录结构:
MyApp
server.js
index.html
data.json
此客户端代码在 Webstorm 和本地工作,但在我的实时服务器上返回一个错误(看起来它返回一个 html 错误文件而不是解释解析错误的 json,但没有解决如何获取此数据)。
<script>
$(document).ready(function(){
$.ajax({
url: "/data/data.json",
method: "GET",
dataType: "json",
error: function() {
console.log("error");
},
success: function(data) {
console.log(data);
}
});
});
</script>
我想我需要从节点内提供这个 json 文件,以便我可以从客户端发出 HTTP GET 请求,但不明白这一切是如何结合在一起的。有人可以帮忙举个例子吗?
编辑:节点 server.js 代码:
var express = require('express');
var app = express();
var server = require('http').createServer(app);
var router = express.Router();
router.use(function (req, res, next) {
console.log("/" + req.method);
next();
});
router.get("/",function(req, res){
res.sendFile(__dirname + "/index.html");
});
app.use("/",router);
app.use("*",function(req, res){
res.sendFile(__dirname + "/index.html");
});
app.use('/data', express.static('public'));
server.listen(process.env.PORT || 3000);
console.log('Server is running on port 3000...');
【问题讨论】:
-
谢谢,你有什么例子吗?我把它写在我的 server.js 节点文件中?前端怎么调用的?
-
是的,快递。我需要“服务静态”还是什么?谢谢