Javascript 我想在express中编写一个路由/端点来处理ajax post请求,并使用该路由/端点来更新json文件';s数据
我正在创建一个服务器,它从目录中提取JSON数据,并将其解析为一个文件,该文件可以通过$.getJSON()在前端读取。我的问题是如何更新前端文件中的数据,并在文件本身中看到它的更新 我试着使用ajax的post方法,但是我得到了一个404错误。我发现我需要编写一个“端点”来指向ajax URL。我应该将这个Javascript端点文件放在哪里/如何在express中编写它 服务器代码:Javascript 我想在express中编写一个路由/端点来处理ajax post请求,并使用该路由/端点来更新json文件';s数据,javascript,json,express,Javascript,Json,Express,我正在创建一个服务器,它从目录中提取JSON数据,并将其解析为一个文件,该文件可以通过$.getJSON()在前端读取。我的问题是如何更新前端文件中的数据,并在文件本身中看到它的更新 我试着使用ajax的post方法,但是我得到了一个404错误。我发现我需要编写一个“端点”来指向ajax URL。我应该将这个Javascript端点文件放在哪里/如何在express中编写它 服务器代码: const express = require('express'); const fs = require
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请求):
我的文件结构如下所示:
-project-folder
-public
-assets
-FronendFiles
-json file I read from and want to update
-js
-main.js
-server.js
这就是
app.post(url,…)
所做的。@SLaks我知道这是我应该使用的express方法,但是我应该使用什么url,我应该在ajax url中添加什么:你可以选择任何你想要的url。这就是app.post(url,…)
所做的。@SLaks我知道这是我应该使用的express方法,但是我应该使用什么url,我在ajax url中添加了什么:您可以选择任何您想要的url。
-project-folder
-public
-assets
-FronendFiles
-json file I read from and want to update
-js
-main.js
-server.js