دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۳
  • آذر

جلسه ۴۷ : Live Search با Ajax

  • دسته‌بندی‌ها :
جلسه ۴۷ : Live Search با Ajax
    • جزئیات
    • نوع محتواآموزش تصویری

      با عرض سلام و ادب خدمت کاربران محترم سایت پی وی لرن.
      در این جلسه قصد داریم تا به آموزش ساخت Live Search (جستجوی زنده) با Ajax بپردازیم.

      با استفاده از Ajax می توانیم جستجو های کاربر پسندانه تر و تعاملی تر بسازیم.

       

      Ajax Live Search

      Ajax Live Search

      Live Search با Ajax

      در ادامه برنامه ای خواهیم نوشت تا نتایج جستجو را هنگام تایپ کردن به کاربر نشان دهد.

      جستجوی زنده در مقایسه با جستجوی سنتی مزایایی دارد از جمله:

      • نتایج در هنگام تایپ کردن نمایش داده می شوند.
      • می توان با حذف یا اضافه کردن کاراکتر ها کیفیت نتایج را بهبود بخشید

       

      نتایجی که ما در برنامه از آن ها استفاده خواهیم کرد در فایل links.xml ذخیره شده اند:

      مثال : 

       

      توضیحات برنامه

      هنگامی که کاربر متنی را در فیلد ورودی تایپ می کند، تابع ()showResult اجرا می شود.
      این تابع توسط رویداد onkeyup اجرا می شود:

      مثال : 

      توضیحات کد:

      اگر فیلد ورودی خالی باشد (str.length == 0)، تابع محتویات livesearch را پاک می کند و از تابع خارج می شود.

      اگر فیلد خالی نباشد، تابع کار های زیر را انجام می دهد:

      • یک XMLHttpRequest ایجاد می کند
      • وقتی که server responce آماده باشد تابعی را اجرا می کند
      • یک درخواست به فایل php ارسال می کند
      • توجه داشه باشید که پارامتر q به url اضافه شده است.(با محتوای فیلد ورودی)

       

      فایل PHP

      فایلی که توسط جاوااسکریپت فراخوانده می شود، livesearch.php نام دارد.

      کد این فایل یک فایل xml را برای تطابق دادن رشته جستجو و بازگرداندن نتایج، جستجو می کند:

      مثال : 

      اگر شرط (strlen(q$) > 0) برقرار باشد، کار های زیر انجام می شود:

      • یک فایل xml را در یک شئ جدید XML DOM بارگذاری می کند.
      • با استفاده از حلقه تکرار تمام عناصر <title> را برای پیدا کردن نتیجه از متن ارسال شده توسط جاوااسکریپت، جستجو می کند
      • url و عنوان مناسب دا در متغیر responce$ ذخیره می کند
      • اگر تطابقی صورت نگرفت، مقدار متغیر responce$ به no suggestion تغییر می یابد

       

      جلسه ساخت Live Search با Ajax نیز به اتمام رسید.

      در جلسه بعد به ساخت خوراک خبری با استفاده ار Ajax خواهیم پرداخت. با ما همراه باشید.

      QR:  جلسه ۴۷ : Live Search با Ajax
      به اشتراک بگذارید