Показать сообщение отдельно
  #1 (permalink)  
Старый 03.01.2022, 03:05
Аспирант
Отправить личное сообщение для TomWalbridge Посмотреть профиль Найти все сообщения от TomWalbridge
 
Регистрация: 24.10.2021
Сообщений: 31

Помогите решить задачу!
приветствую! у меня такой вопрос..
Есть список постов, их я выгружаю из https://gorest.co.in и мне надо при нажатии на кнопку, которая располагается в картой карточке открыть детально на новой странице эту карточку(получается новый html документ ), детальная страница статьи, которую можно получить запросом https://gorest.co.in/public-api/posts/{id статьи}. При этом id статьи должен браться из URL страницы из параметра id
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./style.css">
    <script defer src="./swiper.js"></script>
    <script defer src="./main.js"></script>

    <link rel="stylesheet" href="https://unpkg.com/swiper/swiper-bundle.min.css" />
</head>
<body>
    <header>
        <div class="container">
            <div class="header__block"></div>
        </div>
    </header>
    <main>
        <div class="container">
            <h1>List of post</h1>
            <div class="slider-wrap js-slider-main">
                <div class="slider js-slider">
                    <div id="post" class="slides-wrap js-slides-wrap">
                    </div>
                </div>
            </div>
            <script src="https://unpkg.com/swiper/swiper-bundle.min.js"></script>
        </div>
    </main>
    <footer>
        <div class="container">
            <div class="footer__block"></div>
        </div>
    </footer>
</body>

</html>



const searchParams = new URLSearchParams(location.search);
const userId = searchParams.get('user_id')

if (userId) {
    fetch(`https://gorest.co.in/public/v1/posts/${user_id}`)
        .then(response => response.json())
        .then(json => {
            console.log(json.data);
            const markup = json.data.map(el => {
                return `

         `;
            })
            console.log(markup);
            document.getElementById("post").innerHTML = markup;
        })
} else {
    fetch('https://gorest.co.in/public/v1/posts')
        .then(response => response.json())
        .then(json => {
            console.log(json.data);
            const markup = json.data.map(el => {
                return `
         <div  class="swiper-slide">

         <div class="slide__img" style="max-width:300px;">
                <img src="" alt="">
         </div>
         <h2 class="slide__title">${el.title}</h2>
         <p class="slide__body">${el.body}</p>
         <button class="btn-more" type="submit">Click for read</button>

     </div>
         `;
            })
            console.log(markup);
            // markup = markup.reduce((acc, el) => acc + el, "")
            document.getElementById("post").innerHTML = markup;
        })
}
Ответить с цитированием