Загрузка данных


<!DOCTYPE html>
<html lang="ru">

<head>
    <meta charset="UTF-8">
    <title>Получение данных пользователя</title>
</head>

<body>

    <div class="container">

        <h1>Получение данных пользователя с API</h1>

        <p>Введите ID пользователя от 1 до 10</p>

        <input
            type="number"
            id="userId"
            placeholder="Введите ID пользователя"
            min="1"
            max="10"
        >

        <button id="loadBtn">
            Получить данные пользователя
        </button>

        <div id="result"></div>

    </div>


    <script>

        const button = document.getElementById("loadBtn");
        const result = document.getElementById("result");
        const userIdInput = document.getElementById("userId");

        button.addEventListener("click", getUserData);


        async function getUserData() {

            const userId = userIdInput.value;

            const response = await fetch(
                `https://jsonplaceholder.typicode.com/users/${userId}`
            );

            const user = await response.json();

            result.innerHTML = `
                <div class="user">

                    <h2>Информация о пользователе</h2>

                    <p><b>ID:</b> ${user.id}</p>
                    <p><b>Имя:</b> ${user.name}</p>
                    <p><b>Username:</b> ${user.username}</p>
                    <p><b>Email:</b> ${user.email}</p>
                    <p><b>Телефон:</b> ${user.phone}</p>
                    <p><b>Веб-сайт:</b> ${user.website}</p>
                    <p><b>Компания:</b> ${user.company.name}</p>
                    <p><b>Город:</b> ${user.address.city}</p>

                </div>
            `;
        }

    </script>


    <style>

        * {
            box-sizing: border-box;
        }

        body {
            margin: 0;
            min-height: 100vh;

            display: flex;
            justify-content: center;
            align-items: center;

            font-family: Arial, sans-serif;

            background: white;
        }

        .container {
            width: 550px;

            padding: 40px;

            background: #24152e;

            border: 2px solid black;
            border-radius: 15px;
        }

        h1 {
            margin-top: 0;

            text-align: center;

            color: white;

            font-size: 28px;
        }

        .container > p {
            text-align: center;

            color: #d6c9dd;

            margin-bottom: 25px;
        }

        input {
            width: 100%;

            padding: 14px 16px;
            margin-bottom: 15px;

            background: white;
            color: black;

            border: 2px solid black;
            border-radius: 8px;

            font-size: 16px;

            outline: none;
        }

        input:focus {
            border-color: #8b4bad;
        }

        button {
            width: 100%;

            padding: 14px;

            background: #663283;
            color: white;

            border: 2px solid black;
            border-radius: 8px;

            font-size: 16px;
            font-weight: bold;

            cursor: pointer;
        }

        button:hover {
            background: #7e459d;
        }

        #result {
            margin-top: 25px;
        }

        .user {
            padding: 22px;

            background: white;

            border: 2px solid black;
            border-radius: 10px;
        }

        .user h2 {
            margin-top: 0;

            color: #32153f;
        }

        .user p {
            margin: 10px 0;

            color: #222;
        }

        .user b {
            color: #5c2875;
        }

    </style>

</body>
</html>