Всем добрый день! Вопрос о взаимодействии Node.js, Express и JSON.
История такая: у меня есть несколько форм, значения которых я хочу сохранить в JSON. То есть ввожу в форму что угодно, жму кнопку сохранить и они улетают на сервер в виде такого вот объекта:
{
"name": "345678",
"mail": "98765678233123123",
"phone": "900213123",
"date": "-----",
"summ": "-----",
"visits": "-----",
"active": "-----"
}
Объект я отсылаю на сервер таким вот образом:
$('.modal__window__right__save div').click(function(){
$.ajax({
url: "http://localhost:3000",
type: "POST",
data: userStr,
success: function() {
console.log('data was sent');
},
dataType: 'JSON'
});
сервер этот код принимает вот этим вот:
app.post('/', function (req, res, next) {
req.addListener('data', function(postDataChunk) {
// Может быть ошибка где то тут?
let postData = JSON.parse(postDataChunk);
console.log('Новые данные получены');
// Или где то тут?
jsonfile.writeFileSync('build/data/user.json', postData, {spaces: 2}, function(err){
console.log(err);
});
});
next();
});
и должен записать его в уже существующий JSON-массив вида:
{
"users": [
// here
]
}
Вся проблема в том, что данный код работает, но каждый раз в итоге перезаписывает JSON-целиком.
То есть получается вместо объекта users с многими вложенными объектами, один объект что пришел с клиента(первый самый код).
Где моя ошибка - понять не могу. Если найдете ее (или их) и объясните что и как - буду очень благодарен.