Я запускаю простое веб-приложение node.js на сервере aws ubuntu. У меня есть некоторые данные JSON из API, которые я храню локально на сервере Ubuntu в текстовом файле с именем data.json
.
Я просто хочу загрузить эти данные из файла json с помощью вызова AJAX и отобразить его на стороне клиента 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 со стороны клиента, но не понимаю, как все это происходит вместе. Может кто-нибудь помочь помочь привести пример?
Редактировать: Node 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...');