Невозможно выяснить, как отредактировать мой json-файл после получения запроса POST от клиента в NodeJS.Получить запрос POST и отредактировать файл JSON NodeJS
Использование webix datatable. После того, как я обновить данные в таблице, он отправляет запрос POST с данными + работы, что было сделано (webix_operation = обновление/удаление/вставка), поэтому я думал, что я мог бы сделать что-то вроде этого:
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended : true }));
app.post("/Page2", function (req, res) {
var operation = req.body.webix_operation;
if (operation == 'update') {
fs.readFile("JSON/DB.json", "utf8", function (err, data) {
var allData = JSON.parse(data)
var userData = {
"id": req.body.id,
"data1": req.body.data1,
"data2": req.body.data2,
"data3": req.body.data3,
}
allData.push(userData);
var newData = JSON.stringify(allData);
fs.writeFile("JSON/DB.json", newData, "utf8");
console.error(err.stack);
})
res.send();
}
else if (operation == 'insert') {
}
else if (operation == 'delete') {
}
else
console.log("This operation is not supported")
});
Но это Безразлично» т работы.
Может кто-нибудь проверить код и, возможно, выяснить, что я сделал неправильно?
Что бы вы подразумевали под "это не работает"? На первый взгляд я вижу, что вы выполнили операцию ** INSERT ** вместо обновления, как указано в * îf *. С другой стороны, если вы присоедините свой вывод консоли, было бы полезно помочь вам ... – bitifet
Не должно быть вашего утверждения 'allData.push (userData);' вместо 'allData.push (newData);' –
@ bitifet, «он не работает», я имею в виду, что когда запрос POST принимается, он ничего не делает. Не редактирует/не перезаписывает json-файл. Поэтому я предполагаю, что я сделал что-то не так, или я ничего не понимаю. – MarkL