آموزش ساخت یک برنامه ساده با Fetch API در جاوا اسکریپت: راهنمای گام به گام

دسته : آموزش رایگان جاوا اسکریپت (JavaScript)

آموزش ساخت یک برنامه ساده با Fetch API در جاوا اسکریپت: راهنمای گام به گام

آموزش ساخت یک برنامه ساده با Fetch API در جاوا اسکریپت: راهنمای گام به گام

در این مقاله قصد داریم ساخت یک برنامه ساده با استفاده از Fetch API در جاوااسکریپت را آموزش دهیم. Fetch API یکی از ابزارهای مدرن برای ارسال درخواست‌های HTTP به سرور است و به شما این امکان را می‌دهد که به سادگی داده‌ها را از یک API خارجی دریافت یا به آن ارسال کنید. این برنامه ساده لیستی از کاربران را از یک API عمومی دریافت کرده و آن را در صفحه وب نمایش می‌دهد.

اهداف این مقاله:

  • معرفی Fetch API

  • ساختار درخواست‌های HTTP

  • نحوه مدیریت داده‌های دریافت‌شده و نمایش آن‌ها در HTML

  • نکات مهم در بهینه‌سازی کد و سئو


پیش‌نیازها

قبل از شروع باید دانش پایه‌ای از HTML، CSS و جاوااسکریپت داشته باشید. همچنین باید با مفاهیم اولیه درخواست‌های HTTP (GET و POST) آشنا باشید.


گام اول: ساختار کلی HTML

ابتدا یک فایل HTML ساده برای برنامه ایجاد می‌کنیم. در اینجا یک بخش برای نمایش لیست کاربران و یک دکمه برای بارگذاری داده‌ها در نظر گرفته‌ایم.



< ! DOCTYPE html >
< html lang="en" >
< head >
    < meta charset="UTF-8" >
    < meta name="viewport" content="width=device-width, initial-scale=1.0" >
    < title >Fetch API Example< / title >
    < style >
        body {
            font-family: Arial, sans-serif;
        }
        .user-list {
            list-style-type: none;
            padding: 0;
        }
        .user-item {
            margin: 5px 0;
            padding: 10px;
            border: 1px solid #ccc;
            border-radius: 5px;
        }
    < / style >
< / head >
< body >
    < h1 >لیست کاربران< / h1 >
    < button id="loadUsersBtn">بارگذاری کاربران< / button >
    < ul id="userList" class="user-list" > < / ul >

    < script src="app.js" >< / script >
< / body >
< / html >


در این فایل HTML:

  • یک دکمه با شناسه loadUsersBtn برای بارگذاری کاربران قرار داده شده است.

  • یک لیست بدون ترتیب (ul) با شناسه userList برای نمایش کاربران اضافه شده است.


گام دوم: نوشتن کد جاوااسکریپت با استفاده از Fetch API

حالا نوبت به نوشتن کد جاوااسکریپت برای دریافت داده‌ها از API و نمایش آن‌ها در صفحه می‌رسد. این کد را در فایل app.js قرار می‌دهیم.



document.getElementById('loadUsersBtn').addEventListener('click', loadUsers);

async function loadUsers() {
    try {
        const response = await fetch('https://jsonplaceholder.typicode.com/users');
        if (!response.ok) {
            throw new Error(`HTTP error! Status: ${response.status}`);
        }
        const users = await response.json();
        displayUsers(users);
    } catch (error) {
        console.error('Error fetching users:', error);
    }
}

function displayUsers(users) {
    const userList = document.getElementById('userList');
    userList.innerHTML = ''; // پاک کردن محتوای قبلی
    users.forEach(user => {
        const listItem = document.createElement('li');
        listItem.classList.add('user-item');
        listItem.textContent = `${user.name} - ${user.email}`;
        userList.appendChild(listItem);
    });
}


توضیح کد:

  • در ابتدای کد، یک رویداد (event listener) به دکمه بارگذاری کاربران اضافه کرده‌ایم. این رویداد با کلیک روی دکمه فراخوانی می‌شود.

  • تابع loadUsers از Fetch API استفاده می‌کند تا یک درخواست GET به آدرس https://jsonplaceholder.typicode.com/users ارسال کند و لیستی از کاربران را دریافت کند.

  • با استفاده از await، منتظر می‌مانیم تا داده‌ها از سرور برگردند. در صورت موفقیت‌آمیز بودن درخواست، داده‌ها را به فرمت JSON تبدیل می‌کنیم.

  • در صورت بروز خطا (مثلاً مشکل شبکه یا خطای سرور)، با استفاده از try/catch خطا را مدیریت می‌کنیم.

  • تابع displayUsers لیست کاربران دریافت شده را از طریق ایجاد عناصر HTML (li) به لیست ul اضافه می‌کند و نام و ایمیل هر کاربر را نمایش می‌دهد.


گام سوم: بهینه‌سازی کد

برای بهبود کارایی برنامه و همچنین اطمینان از سئوی مناسب، می‌توان چند نکته کلیدی را در نظر گرفت:

  • مدیریت خطاها: حتماً برای مدیریت خطاهای احتمالی از ساختار try/catch استفاده کنید تا تجربه کاربری بهتر شود و برنامه هنگام بروز خطا همچنان قابل استفاده باقی بماند.

  • بهینه‌سازی سرعت بارگذاری: از طریق بهینه‌سازی درخواست‌ها و استفاده از کش مرورگر، می‌توانید سرعت بارگذاری داده‌ها را بهبود ببخشید. همچنین می‌توانید داده‌ها را از قبل بارگذاری کنید و در زمان نیاز نمایش دهید.

  • ملاحظات سئو: اطمینان حاصل کنید که محتوای نمایش داده شده بهینه باشد و بتواند توسط موتورهای جستجو به درستی ایندکس شود. برای این منظور، مطمئن شوید که محتوای داینامیک (تولید شده با جاوااسکریپت) قابل دسترسی برای موتورهای جستجو است.


نکات سئویی برای بهبود رتبه‌بندی

  • استفاده از محتوای قابل مشاهده در سرور: محتوایی که با Fetch API دریافت می‌شود، ممکن است توسط موتورهای جستجو به درستی ایندکس نشود. یکی از روش‌های بهینه‌سازی این است که از رندر سمت سرور (Server-Side Rendering یا SSR) استفاده کنید تا محتوای داینامیک از همان ابتدا برای موتورهای جستجو قابل مشاهده باشد.

  • بارگذاری تنبل (Lazy Loading): داده‌های غیرضروری را فقط زمانی که کاربر به آن نیاز دارد بارگذاری کنید. این روش به بهبود سرعت بارگذاری اولیه سایت کمک می‌کند.

  • زمان بارگذاری سریع‌تر: زمان بارگذاری سریع سایت باعث بهبود رتبه در موتورهای جستجو می‌شود. سعی کنید تا حد ممکن تعداد و حجم درخواست‌های HTTP را بهینه کنید.


نتیجه‌گیری

با استفاده از Fetch API می‌توانید به راحتی درخواست‌های HTTP را مدیریت کنید و داده‌ها را از سرور دریافت و نمایش دهید. این API قدرتمند به شما امکان می‌دهد تا برنامه‌های وب تعاملی و بهینه‌تری بسازید. همچنین با رعایت نکات سئویی مانند بهینه‌سازی محتوا برای موتورهای جستجو و مدیریت صحیح درخواست‌ها، می‌توانید رتبه سایت خود را بهبود دهید.

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

JSX و رندرینگ مؤثر در React.js: بهینه‌سازی کامپوننت‌ها و بهبود عملکرد

JSX و رندرینگ مؤثر در React.js: بهینه‌سازی کامپوننت‌ها و بهبود عملکرد

28م شهریور 1402

مطالعه بیشتر

آموزش اضافه کردن ویدئو و صدا به وب‌سایت: نحوه استفاده از تگ‌های video و audio در HTML

آموزش اضافه کردن ویدئو و صدا به وب‌سایت: نحوه استفاده از تگ‌های video و audio در HTML

23م مرداد 1402

مطالعه بیشتر

مفهوم برنامه‌نویسی هم‌زمان و ناهم‌زمان در جاوا اسکریپت: تفاوت‌ها، مثال‌ها و کاربردها

مفهوم برنامه‌نویسی هم‌زمان و ناهم‌زمان در جاوا اسکریپت: تفاوت‌ها، مثال‌ها و کاربردها

29م مهر 1403

مطالعه بیشتر

آموزش mix-blend-mode و background-blend-mode در CSS: ترکیب رنگ‌ها و ایجاد افکت‌های جذاب

آموزش mix-blend-mode و background-blend-mode در CSS: ترکیب رنگ‌ها و ایجاد افکت‌های جذاب

12م آبان 1403

مطالعه بیشتر

آموزش تگ‌های متنی اولیه در HTML: استایل‌دهی و قالب‌بندی متن‌ها

آموزش تگ‌های متنی اولیه در HTML: استایل‌دهی و قالب‌بندی متن‌ها

18م مرداد 1402

مطالعه بیشتر

واحدهای CSS مدرن: آموزش استفاده از vw، vh، vmin و vmax برای طراحی واکنش‌گرا

واحدهای CSS مدرن: آموزش استفاده از vw، vh، vmin و vmax برای طراحی واکنش‌گرا

11م آبان 1403

مطالعه بیشتر

بررسی کتابخانه‌های محبوب جاوا اسکریپت: آشنایی با Lodash و Moment.js - مزایا و کاربردها

بررسی کتابخانه‌های محبوب جاوا اسکریپت: آشنایی با Lodash و Moment.js - مزایا و کاربردها

4م آبان 1403

مطالعه بیشتر

آموزش رویدادهای پیشرفته در جاوا اسکریپت: بابلینگ، کپچرینگ و توقف پیش‌فرض - راهنمای جامع

آموزش رویدادهای پیشرفته در جاوا اسکریپت: بابلینگ، کپچرینگ و توقف پیش‌فرض - راهنمای جامع

2م آبان 1403

مطالعه بیشتر

آموزش ارتباط با سرور و ارسال درخواست‌های HTTP با Fetch API در جاوا اسکریپت: راهنمای جامع با مثال‌ها

آموزش ارتباط با سرور و ارسال درخواست‌های HTTP با Fetch API در جاوا اسکریپت: راهنمای جامع با مثال‌ها

1م آبان 1403

مطالعه بیشتر

آموزش ایجاد تگ‌های صفحه‌بندی در HTML و CSS: طراحی و استایل‌دهی pagination

آموزش ایجاد تگ‌های صفحه‌بندی در HTML و CSS: طراحی و استایل‌دهی pagination

29م مرداد 1402

مطالعه بیشتر

Async/Await: نوشتن کدهای خواناتر و ناهم‌زمان در جاوا اسکریپت - آموزش کامل با مثال‌ها

Async/Await: نوشتن کدهای خواناتر و ناهم‌زمان در جاوا اسکریپت - آموزش کامل با مثال‌ها

30م مهر 1403

مطالعه بیشتر

کنترل زمان‌بندی و اندازه‌گیری دقیق انیمیشن‌ها در CSS: آموزش جامع و اصول استاندارد

کنترل زمان‌بندی و اندازه‌گیری دقیق انیمیشن‌ها در CSS: آموزش جامع و اصول استاندارد

18م شهریور 1402

مطالعه بیشتر

تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد