Попытка получить данные из API с помощью javascript

Я пытаюсь получить данные из онлайн-базы данных MongoDb, используя javascript и html. но это не работает должным образом. Также с использованием библиотеки jquery

<div>
    <input type = "submit" value = "GET DATA FROM API" id = "getAPI">
    <div id = "result" ></div>
    <div ><h2>Input Form</h2></div>
    <form id = "postData" >
    </form>
</div>
<!-- javascript part -->
<script>
    document.getElementById('getAPI').addEventListener('click', getAPI);
    function getAPI() {
        fetch('http://localhost:3000/api/seller')
            .then((res) => { return res.json() })
            .then((data) => {
                let result = `<h2> Random User Info From Jsonplaceholder API</h2>`;
                data.forEach((seller) => {
                    const {id, name, email} = seller
                    result +=
                        `<div>
                                <h5> User ID: ${id} </h5>
                                <ul>
                                    <li> User Full Name : ${name}</li>
                                    <li> User Email : ${email} </li>
                                </ul>
                             </div>`;
                    document.getElementById('result').innerHTML = result;
                });
            })
    }
</script>

<script src = "jquery-3.3.1.min.js" type = "text/javascript"></script>

Какая часть кода не работает?

Get Off My Lawn 30.05.2019 20:28

это не дает никакого результата в качестве вывода

Hasitha 30.05.2019 20:31

Делает ли он запрос ajax? Есть ли ответ в формате JSON?

Get Off My Lawn 30.05.2019 20:34

это можно увидеть в консоли chrome view.html:1 Unchecked runtime.lastError: порт сообщения закрыт до получения ответа. view.html:1 Unchecked runtime.lastError: Порт сообщения закрыт до получения ответа.

Hasitha 30.05.2019 20:58

теперь этот view.html?_ijt=72t9n4ls8vjcs5g7minkkcai31:28 Uncaught (в обещании) TypeError: data.forEach не является функцией

Hasitha 30.05.2019 21:35
Поведение ключевого слова "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
5
323
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

fetch("https://jsonplaceholder.typicode.com/users")
  .then(res => {
    return res.json();
  })
  .then(data => {
    let result = `<h2> Random User Info From Jsonplaceholder API</h2>`;
    data.forEach(seller => {
      const {
        id,
        name,
        email
      } = seller;
      result += `<div>
                   <h5> User ID: ${id} </h5>
                   <ul>
                     <li> User Full Name : ${name}</li>
                     <li> User Email : ${email} </li>
                   </ul>
                 </div>`;
      document.getElementById("app").innerHTML = result;
    });
  });
<div id = "app"></div>

Ваш интерфейс работает хорошо. Я заменил URL-адрес API в вашем коде, и все в порядке. Это может быть что-то на задней панели. Вы проверили код состояния, который вы получаете от сервера?

Это должен быть комментарий, а не ответ.

Get Off My Lawn 30.05.2019 20:37

Да, но я не могу выполнить пример кода внутри комментариев, и судя по примеру кода, на стороне FE ничего не меняется.

Mitro 30.05.2019 20:47

Я проверил API с помощью почтальона, и он работал нормально. Все хорошо ?

Hasitha 30.05.2019 21:00

Я вижу тонкий в хромированной консоли Uncaught SyntaxError: неожиданный токен < 8Unchecked runtime.lastError: порт сообщения закрыт до получения ответа.

Hasitha 30.05.2019 21:03

Можете ли вы открыть вкладку сети в инструментах разработчика Chrome? Здесь вы можете проверить больше информации об ответе сервера.

Mitro 30.05.2019 21:16
stackoverflow.com/questions/54126343/… Ознакомьтесь с этими решениями и посмотрите, могут ли они вам помочь.
Mitro 30.05.2019 21:22

URL-адрес запроса: cr-input.mxpnl.net/… Метод запроса: Код состояния POST: 200 Удаленный адрес: 52.72.99.240:443 Политика реферера: no-referrer-when-downgrade

Hasitha 30.05.2019 21:30

хорошая идея. я проверил, и комментарий выше - это то, что я видел. обязательно проверю

Hasitha 30.05.2019 21:30

открыл страницу в режиме инкогнито. и получил следующее в chrome console view.html?_ijt=72t9n4ls8vjcs5g7minkkcai31:28 Uncaught (в обещании) TypeError: data.forEach не является функцией

Hasitha 30.05.2019 21:34

Хм, проверьте значение данных перед выполнением foreach. Похоже, что данные не массив, может быть, это объект? Вы можете проверить это с помощью console.info(data);

Mitro 30.05.2019 21:37

ааа, так как я использую MongoDb, он сохраняет данные как объект. Так может тут дело в этом?

Hasitha 31.05.2019 05:50

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