@shmebulok

Как добавить новый элемент (объект) в массив который в объекте с помощью fetch/post?

Здравствуйте, к сути вопроса:
Я создаю веб-приложение ToDo, проект для себя, так сказать для изучения. Во время работы с fetch/post появился вопрос на который я не смог найти нормальный ответ, и решился задать его тут.
У меня есть db.json файл который находится на локальном сервере (json-server)
Вот такой:
{
  "usersTodos": [
    {
      "id": 1000,
      "todos": []
    }
  ]
}

Как видите есть массив usersTodos в котором есть один объект с id и массивом todos (к слову, идея в том, что этот массив хранит объекты также как и usersTodos )
С помощью fetch методом post я могу добавить новый объект в usersTodos, но я хочу добавить его не в usersTodos, а в массив todos.
fetch('http://192.100.0.0:3000/usersTodos', {
          method: 'post',
          headers: {
            'Accept': 'application/json, text/plain, */*',
            'Content-Type': 'application/json'
          },
          body: JSON.stringify(obj)
        })

Данный код добавляет новый объект в usersTodos
Как я и говорил выше, что todos хранит объекты, как я могу с помощью fetch заPOStить, добавить в todos новый элемент и возможно ли это?
Думаю вопрос я задал корректно, и он был более менее понятен для Вас
  • Вопрос задан
  • 551 просмотр
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
т.к. используется typicode/json-server
можно видимо изменять сохранённые данные по их id, запросом PATCH:
const obj = {
  todos: [
    {title: "QnA", description: "прочитать документацию"},
  ],
}
fetch('http://192.100.0.0:3000/usersTodos/1000', { // здесь 1000 это id
          method: 'patch',
          headers: {
            'Accept': 'application/json, text/plain, */*',
            'Content-Type': 'application/json'
          },
          body: JSON.stringify(obj)
        })

Чтобы добавить, надо сначала вытащить по id сохранённую запись, и в её поле todos запушить новый туду.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 22:26
3500 руб./за проект
22 нояб. 2024, в 21:47
3000 руб./за проект
22 нояб. 2024, в 21:44
50000 руб./за проект