در این مقاله قصد داریم ساخت یک برنامه ساده با استفاده از 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="w id th=device-w id th, 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 sol id #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 قرار میدهیم.
JavaScript
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 قدرتمند به شما امکان میدهد تا برنامههای وب تعاملی و بهینهتری بسازید. همچنین با رعایت نکات سئویی مانند بهینهسازی محتوا برای موتورهای جستجو و مدیریت صحیح درخواستها، میتوانید رتبه سایت خود را بهبود دهید.
نظری یافت نشد
پیمایش اشیاء و آرایهها در جاوا اسکریپت: راهنمای کامل برای Object.keys، Object.values، for...in و for...of
4م مهر 1403
مطالعه بیشتر
معرفی Vue.js و ویژگیهای کلیدی آن: فریمورک مدرن برای توسعه وب تعاملی
28م شهریور 1402
مطالعه بیشتر
معرفی جاوا اسکریپت و نحوه استفاده از آن برای توسعه وب تعاملی: راهنمای جامع
27م شهریور 1402
مطالعه بیشتر
آموزش استفاده از تگهای خاص HTML: تگهای کاربردی برای طراحی وبسایت
22م مرداد 1402
مطالعه بیشتر
آموزش ساخت ماشین حساب با جاوا اسکریپت: راهنمای کامل با مثالهای کاربردی
4م آبان 1403
مطالعه بیشتر
آموزش ترانزیشنها و انیمیشنهای نرم با CSS: ایجاد افکتهای پویا و واکنشگرا
10م شهریور 1402
مطالعه بیشتر
آموزش ایجاد Transitions و انیمیشنهای صفحه بارگذاری (Loader) در CSS: طراحی لودرهای جذاب
16م آبان 1403
مطالعه بیشتر
آموزش کامل استفاده از float، clear، text و font در CSS برای طراحی وب: راهنمای جامع
6م شهریور 1402
مطالعه بیشتر
آموزش ساخت Toggle Switch با CSS: طراحی دکمههای تغییر وضعیت جذاب و واکنشگرا
16م آبان 1403
مطالعه بیشتر
معرفی DOM و اصول آن در جاوا اسکریپت: راهنمای جامع برای مبتدیان
1م آبان 1403
مطالعه بیشتر
آموزش استایلدهی لیستها در CSS: طراحی و استایلدهی ul و ol
10م آبان 1403
مطالعه بیشتر
آموزش توسعه و مدیریت پروژههای بزرگ در جاوا اسکریپت: آشنایی با ابزارها و فریمورکهای کاربردی
4م آبان 1403
مطالعه بیشتر
تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد