در این مقاله قصد داریم ساخت یک برنامه ساده با استفاده از Fetch API در جاوااسکریپت را آموزش دهیم. Fetch API یکی از ابزارهای مدرن برای ارسال درخواستهای HTTP به سرور است و به شما این امکان را میدهد که به سادگی دادهها را از یک API خارجی دریافت یا به آن ارسال کنید. این برنامه ساده لیستی از کاربران را از یک API عمومی دریافت کرده و آن را در صفحه وب نمایش میدهد.
معرفی Fetch API
ساختار درخواستهای HTTP
نحوه مدیریت دادههای دریافتشده و نمایش آنها در HTML
نکات مهم در بهینهسازی کد و سئو
قبل از شروع باید دانش پایهای از HTML، CSS و جاوااسکریپت داشته باشید. همچنین باید با مفاهیم اولیه درخواستهای HTTP (GET و POST) آشنا باشید.
ابتدا یک فایل 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 برای نمایش کاربران اضافه شده است.
حالا نوبت به نوشتن کد جاوااسکریپت برای دریافت دادهها از 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: بهینهسازی کامپوننتها و بهبود عملکرد
28م شهریور 1402
مطالعه بیشتر
آموزش اضافه کردن ویدئو و صدا به وبسایت: نحوه استفاده از تگهای video و audio در HTML
23م مرداد 1402
مطالعه بیشتر
مفهوم برنامهنویسی همزمان و ناهمزمان در جاوا اسکریپت: تفاوتها، مثالها و کاربردها
29م مهر 1403
مطالعه بیشتر
آموزش mix-blend-mode و background-blend-mode در CSS: ترکیب رنگها و ایجاد افکتهای جذاب
12م آبان 1403
مطالعه بیشتر
آموزش تگهای متنی اولیه در HTML: استایلدهی و قالببندی متنها
18م مرداد 1402
مطالعه بیشتر
واحدهای CSS مدرن: آموزش استفاده از vw، vh، vmin و vmax برای طراحی واکنشگرا
11م آبان 1403
مطالعه بیشتر
بررسی کتابخانههای محبوب جاوا اسکریپت: آشنایی با Lodash و Moment.js - مزایا و کاربردها
4م آبان 1403
مطالعه بیشتر
آموزش رویدادهای پیشرفته در جاوا اسکریپت: بابلینگ، کپچرینگ و توقف پیشفرض - راهنمای جامع
2م آبان 1403
مطالعه بیشتر
آموزش ارتباط با سرور و ارسال درخواستهای HTTP با Fetch API در جاوا اسکریپت: راهنمای جامع با مثالها
1م آبان 1403
مطالعه بیشتر
آموزش ایجاد تگهای صفحهبندی در HTML و CSS: طراحی و استایلدهی pagination
29م مرداد 1402
مطالعه بیشتر
Async/Await: نوشتن کدهای خواناتر و ناهمزمان در جاوا اسکریپت - آموزش کامل با مثالها
30م مهر 1403
مطالعه بیشتر
کنترل زمانبندی و اندازهگیری دقیق انیمیشنها در CSS: آموزش جامع و اصول استاندارد
18م شهریور 1402
مطالعه بیشتر
تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد