Очистить старые результаты перед загрузкой новых результатов запроса в javascript

Когда я нажимаю на ссылку, она отображает результат в div под названием «Результаты». Когда я нажимаю на другую ссылку, она отображает результат в том же div без очистки предыдущего

полученные результаты. Это мой код, как я могу привести его в порядок и отображать только необходимый результат. Я попытался

const data = document.getElementById("data");
data.innerHTML = '';

Но это не сработало.

Вот мой код:

const displayItem = (item, value) => {
  const pre_data = document.createElement('pre');
  const dt_data = document.createElement('dt');
  dt_data.textContent = item;
  pre_data.appendChild(dt_data);
  if (value !== 'undefined') {
    const dd_data = document.createElement('dd')

    if (item == "url") {
      const link = document.createElement('a');
      link.textContent = value;
      link.setAttribute('href', '#')
      link.addEventListener('click', function(e) {
        console.info("I'm working!")
        console.info(e.target.innerHTML)
        fetchData(e.target.innerHTML)
      });
      dd_data.appendChild(link);

    } else {
      dd_data.textContent = value;

    }

    pre_data.appendChild(dd_data);

    if (item == "link") {
      const text = document.createElement('a');
      text.textContent = value;
      text.setAttribute('href', '#')
      text.addEventListener('click', function(e) {
        console.info("I'm working!")
        console.info(e.target.innerHTML)
        fetchData(e.target.innerHTML)
      });
      dd_data.appendChild(text);
    } else {}

    pre_data.appendChild(dd_data);
  }
  return pre_data;
}
const formatResult = (entity, level) =>{
  const dl = document.createElement('dl');


  for(let k in obj) {
    if (typeof obj[k]=== "object"  ){
      dl.appendChild(displayItem(k))
      
      if (Array.isArray(obj[k])){
        obj[k].forEach(results =>  
          {
          if (typeof results=== "object"  ){           
              dl.appendChild(formatResult(results) ) 
             

          }
        
        else{
          dl.appendChild(displayItem(results))
        }
        
        }
          
          );

      } else{
        dl.appendChild(formatResult(obj[k]))
      }
    } else {
      dl.appendChild(displayItem(k, obj[k]))
      
    }
  }

 return dl;

}

//empty div
const myData = document.getElementById("myData");
results.innerHTML = '';


function fetchData(url){
 
  fetch(url)
.then((res) => (res.ok ? res.json() : Promise.reject(res)))
.then((data) => {
  console.info(JSON.stringify(data))
     myData.append(formatResult(data))
    }
})
.catch(console.error);
}

const showResult=document.getElementById("showResult");

catalog.addEventListener("onclick",  fetchData(`localhost:8000/data`));

Как выглядит мой html div:

<button id = "showResult">View Result</button>
<div id = "myData"></div>

«Но это не сработало». Почему нет? Ошибка была в консоли? Он сделал что-то еще? Когда я пытаюсь запустить этот код, возникает синтаксическая ошибка.

user1599011 05.05.2022 22:42
Поведение ключевого слова "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) для оценки ваших знаний,...
1
1
32
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вам нужно заменить данные в вашей функции ответа.

function fetchData(url){
 
  fetch(url)
.then((res) => (res.ok ? res.json() : Promise.reject(res)))
.then((data) => {
  console.info(JSON.stringify(data))
     myData.innerHTML = formatResult(data);
    }
})
.catch(console.error);
}
Ответ принят как подходящий

Вам нужно очищать каждый раз, когда вы снова получаете новые данные. Таким образом, вы можете добавить: data.innerHTML = ''; к вашей функции выборки.

function fetchData(url) {
  data.innerHTML = '';
   ...
}

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