Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.05.2020, 21:54
Новичок на форуме
Отправить личное сообщение для Devero Посмотреть профиль Найти все сообщения от Devero
 
Регистрация: 06.04.2020
Сообщений: 3

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
Ответить с цитированием
  #2 (permalink)  
Старый 15.05.2020, 12:43
Новичок на форуме
Отправить личное сообщение для Devero Посмотреть профиль Найти все сообщения от Devero
 
Регистрация: 06.04.2020
Сообщений: 3

Есть мысли? Сижу уже не знаю сколько, а гугл не помогает!
Ответить с цитированием
  #3 (permalink)  
Старый 16.05.2020, 03:08
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,007

Сообщение от Devero
гугл не помогает
Я не знаю Node.js, так что о нем ни слова, но ошибка "Unexpected end of JSON" означает только одно - запросу возвращены данные являющиеся либо вообще не json, либо некорректным json. И запрос гугла "Help" по этому вопросу дает этот ответ, где вы искали и что искали не понятно.
Ответить с цитированием
  #4 (permalink)  
Старый 16.05.2020, 07:02
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,379

Сообщение от Devero
из формы в файл
Этот этап это fs.writeFile(), у вас его нет.
Сообщение от Devero
Unexpected end of JSON input
Так как этапа записи нет, вы читаете пустой файл, контент пустого файла пустая строка, пустая строка в JSON.parse('') генерирует ошибку.

Последний раз редактировалось Rise, 16.05.2020 в 07:16.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Unexpected end of JSON input mazahaler Events/DOM/Window 8 30.12.2017 07:07
Unexpected end of JSON input dukir AJAX и COMET 2 11.12.2017 06:59
Странная ошибка Unexpected end of input в хроме faringor Opera, Safari и др. 8 05.06.2015 14:38
Не срабатывает скрипт. Unexpected end of input zlodeeev Общие вопросы Javascript 6 19.07.2012 07:38
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 18:27