Почему метод удаления дает мне неожиданный токен < в JSON в позиции 0?

Я получаю ошибки при попытке удалить данные, Я попробовал это на почтальоне, он отлично работает, но браузер выдает мне эту ошибку:

DELETE http://localhost:5000/items/[object%20Object] 404 (Not Found)
Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0

Сторона клиента:

<button onClick = {() => handleDeleteItem(_id)}>DELETE BUTTON</button>
const handleDeleteItem = id => {
        const deletion = window.confirm('Do you really want to delete the item?');
        if (deletion){
            const url = `http://localhost:5000/items/${id}`;
            fetch(url, {
                method: 'DELETE',
                headers: {
                    'content-type': 'application/json'
                },
            })
            .then(res=>res.json())
            .then(data =>{
                console.info(data);
            })
        }
    }

На стороне сервера:

app.post('/items/:id', async(req, res) =>{
            const id = req.params.id;
            const query = {_id: ObjectId(id)};
            const result = await itemsCollection.deleteOne(query);
            res.send(result);
        });
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
22
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

У вас есть 'content-type': 'application/json', но вы не поместили JSON в тело, поэтому промежуточное ПО для синтаксического анализа JSON пытается проанализировать пустое тело и выдает исключение.

Не лгите о том, какой контент вы отправляете.


В стороне:

  • app.post ищет запрос POST, но вы делаете запрос DELETE
  • id преобразуется в [object%20Object], поэтому это объект, а не строка или число, которое вы ожидаете

О, какая глупая ошибка! большое спасибо! :D

Rakibul Hassan Robin 04.05.2022 19:17

Другие вопросы по теме