Получение 422 от сервера - я передаю объект JSON неправильно?
Я работаю над проектом React, который отправляет данные на сервер node.js, работающий на localhost. Фактический код здесь:
task = {text:e.target.value};
console.log(task.text);
task = JSON.stringify(task);
console.log(task.text);
console.log(task);
axios.post('http://192.168.0.116:8080/todos', {task})
.then(response => {console.log(response);
this.axGetTasks(response.data);
})
.catch(error => {
if (error.response) {
console.log(error.response);
}
})
Сервер возвращает 422 с этим объяснением: {data: "поле '' text 'должно присутствовать в json".
Console.log объекта, который я передаю:
{"text":"gdf"}
Сервер выполняет этот тест:
(!if.req.body.text)
Я предполагаю, что неправильно искажаю вводные данные, но не вижу ошибки - тем более что полагаюсь на JSON.stringify. Я сделал ошибку при создании объекта задачи? Когда я пробую console.log(task.text); он возвращает неопределенное значение - но я понятия не имею, почему, поскольку у меня минимальный опыт работы с JSON. Я считаю, что формат, который я использую, соответствует стандартам. Буду благодарен за любой вклад!
РЕДАКТИРОВАТЬ: как объект JSON присоединяется к URL? Это через "?" в качестве параметра?
1 ответ
Аксиос сам себя строковит. Удаление строковых решило проблему.