Ошибка 422 при работе с fetch

110
10 августа 2021, 15:50

Не понимаю, почему вылетает ошибка 422. Вот мой код для запроса:

function data() {
let self = this;
self.apiAdd = api;
self.add = function (newData) {
        fetch(self.apiAdd, {method: 'POST'})
            .then(fulfilled => fulfilled.json())
            .then(fulfilled => {
                console.log('Успех', newData);
            })
            .catch(error => console.log('Причина ошибки: ' + error));
    }
}

Код для сбора данных:

finalAdd.addEventListener('click', function () {
let newPerson = {
        Name: name.value,
        Email: email.value,
    };
    let newPersonJson = JSON.stringify(newPerson);
    new data().add(newPersonJson);
});
Answer 1

предположу что проблема в том, что Вы передаёте newData, но при POST запросе никуда их не указываете, а fetch необходим параметр body. Укажите его в fetch:

fetch(self.apiAdd, {
    method: 'POST', 
    body: newData, 
    headers: {
        'Content-Type': 'application/json'
    },
})...
READ ALSO
Микроразметка shema.org в MODX Revolution

Микроразметка shema.org в MODX Revolution

Подскажите пожалуйста такой моментЯ добавляю микроразметку, но валидатор требует чтобы у каждой крошки был мета-тег position (<meta itemprop="position"...

108
как добавить слэш в конец URL адреса

как добавить слэш в конец URL адреса

не получается добавить слеш в конце url

113
JS Array не работает push

JS Array не работает push

Должен добавлять значения типа

288
Undefined при попытке вывести элемент массива (FileReader) [дубликат]

Undefined при попытке вывести элемент массива (FileReader) [дубликат]

При попытке вывести любой элемент массива получаю undefined, однако если вывести весь массив через consolelog, то он выводится

200