Я хочу написать маршрут / конечную точку в экспрессе для обработки запросов постов ajax и использовать этот маршрут / конечную точку для обновления данных файла json - PullRequest
1 голос
/ 09 мая 2019

Я создаю сервер, который извлекает данные JSON из каталога и анализирует их в файл, который можно прочитать во внешнем интерфейсе с помощью $ .getJSON ().У меня вопрос, как мне обновить данные в файле переднего плана и увидеть их обновление в самом файле?

Я пытался использовать метод post ajax, но получаю ошибку 404.Я обнаружил, что мне нужно написать «конечную точку» для указания URL-адреса ajax.Куда мне положить этот файл конечной точки Javascript / как мне записать его в экспресс

Код сервера:

const express = require('express');
const fs = require('fs');
const app = express();
var cors = require('cors');
var curl = require('curl');
var jsdom = require('jsdom');
app.use(cors());
app.use(express.static('public'));
app.set('view engine', 'ejs');
app.listen(3030, function () {
    console.log('Example app listening on port 3030!')
})
// Document

var dirBuf = Buffer.from('public/assets/jsonfiles')
fs.readdir(dirBuf, (err, files) => {
    if (err) {
        console.log(err.message);
    }
    else {
        var all = [];
        //files
        files.forEach(function(filename) {
            var txt = fs.readFileSync('public/assets/jsonfiles/' + filename);
            var filecontents = JSON.parse(txt)
            all = (all.concat(filecontents));
        })
        var back = JSON.stringify(all, null, 2)
        /* UNCOMMENT TO CREATE FRONT END FILE */
        //  fs.writeFileSync('public/assets/frontEndJSON/allrequests.json', back)
    }
});
app.post('/', function (req, res) {
    fs.writeFileSync('public/assets/frontEndJSON/allrequests.json', req.body)
})
app.get('/', function (req, res) {
    res.render('index')
});

Код Javascript внешнего интерфейса (запросы ajax):

var back = JSON.stringify(q.items, null, 2)
    $.ajax({
        type: 'POST',
        url: 'public/assets/js/controller.js',
        data: back,
        dataType: 'json'
    })
}

Моя файловая структура выглядит следующим образом:

-project-folder
 -public
  -assets
    -FronendFiles
     -json file I read from and want to update
    -js
      -main.js
 -server.js 

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...