Как добавить текст в выпадающую форму

Итак, я пытаюсь сделать API-выборку из ввода формы (панель поиска моего сайта), я хочу добавить текст ко всему, что было введено в текстовое поле, а затем отправить его для извлечения.

<form id = "SearchBoxMainNav" style = "display: flex;">
    <input class = "nav-button" type = "submit" name = "search" value = "" >
    <input id = "SearchTerm" type = "search" class = "search" name = "search" value = "" placeholder = "I Draw...!" autocomplete = "off" />
</form>

Java-скрипт

const apiUrl = 'https://db.ygoprodeck.com/api/v7/cardinfo.php';

SearchBoxMainNav.addEventListener('submit', async (event) => {
event.preventDefault();

const formData = new FormData(SearchBoxMainNav);
const formDataSerialized = Object.fromEntries(formData);
const jsonObject = { ...formDataSerialized};
console.info(formDataSerialized, "formDataSerialized");

try {
    const response = await fetch(apiUrl, {
        method: 'POST',
        body: JSON.stringify("fname" + jsonObject),
        Headers: {
            'Contnent-Type': 'application/json'
        },
    });
    const json = await response.json();
    console.info(json);
} catch(event) {
    console.error(event)
    alert("there was an Error")
}

});

так что я хотел бы сделать, когда они отправляют текст, он добавляется на передний план, а затем проходит через весь процесс javascript.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
30
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Объедините текст с jsonObject.search, а не jsonObject.

Object.fromEntries() возвращает новый объект, дублировать его с помощью {...formDataSerialized} не нужно.

const apiUrl = 'https://db.ygoprodeck.com/api/v7/cardinfo.php';

SearchBoxMainNav.addEventListener('submit', async(event) => {
  event.preventDefault();

  const formData = new FormData(SearchBoxMainNav);
  const jsonObject = Object.fromEntries(formData);
  jsonObject.search = 'fname ' + jsonObject.search;

  try {
    const response = await fetch(apiUrl, {
      method: 'POST',
      body: JSON.stringify(jsonObject),
      Headers: {
        'Content-Type': 'application/json'
      },
    });
    const json = await response.json();
    console.info(json);
  } catch (event) {
    console.error(event)
    alert("there was an Error")
  }

});

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