Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   Unexpected end of JSON input (https://javascript.ru/forum/node-js-io-js/80259-unexpected-end-json-input.html)

Devero 14.05.2020 21:54

Unexpected end of JSON input
 
Хочу получить данные после из формы в файл, но на этом этапе пишет в коносоле такую ошибку : Unexpected end of JSON input . В чем причина может быть?
////// 1
 
const SaveForm = require('./form')
app.post('/contacts', async (req, res) => {
    const form = new SaveForm(req.body.name, req.body.email, req.body.phone, req.body.text)
    form.save()
    res.redirect('/contacts')
})
 
////// 2
 
const fs = require('fs')
const path = require('path')
 
class SaveForm {
    constructor (name, email, phone, text) {
        this.name = name;
        this.email = email;
        this.phone = phone;
        this.text = text;
    }
 
    toJSON () {
        return {
            name: this.name,
            email: this.email,
            phone: this.phone,
            text: this.text
        };
    }
 
    async save() {
        const formContent =  await SaveForm.getAll()
        console.log( formContent)
    }
 
    static getAll() {
        return new Promise((resolve, reject)=> {
            fs.readFile(
                path.join(__dirname, 'data.json'),
                'utf-8',
                (err, content) => {
                    if (err) {
                        reject(err)   
                    } else {
                        resolve(JSON.parse(content))
                    }
                }
            )
        })
    }
}
 
module.exports = SaveForm

Devero 15.05.2020 12:43

Есть мысли? Сижу уже не знаю сколько, а гугл не помогает!

laimas 16.05.2020 03:08

Цитата:

Сообщение от Devero
гугл не помогает

Я не знаю Node.js, так что о нем ни слова, но ошибка "Unexpected end of JSON" означает только одно - запросу возвращены данные являющиеся либо вообще не json, либо некорректным json. И запрос гугла "Help" по этому вопросу дает этот ответ, где вы искали и что искали не понятно.

Rise 16.05.2020 07:02

Цитата:

Сообщение от Devero
из формы в файл

Этот этап это fs.writeFile(), у вас его нет.
Цитата:

Сообщение от Devero
Unexpected end of JSON input

Так как этапа записи нет, вы читаете пустой файл, контент пустого файла пустая строка, пустая строка в JSON.parse('') генерирует ошибку.


Часовой пояс GMT +3, время: 02:05.