کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

پیاده سازی قابلیت نظرسنجی با AJAX (AJAX Poll)

پیاده سازی قابلیت نظرسنجی با AJAX (AJAX Poll)

مثال زیر یک قابلیت نظرسنجی ساده را نمایش می دهد که در آن نتایج بدون بارگذاری مجدد کل صفحه و در لحظه نمایش داده می شود. در واقع زمانی که کاربر یکی از دو گزینه را انتخاب می کند، برنامه ی زیر نتیجه را از سرویس دهنده خوانده و بلافاصله بدون بروز رسانی کل صفحه، در اپلیکیشن تحت وب حاضر به نمایش می گذارد.

نظرسنجی با AJAX 01 نظرسنجی با AJAX 02

شرح مثال – فایل HTML

زمانی که کاربر یکی از دو گزینه ی فوق را انتخاب می کند، تابعی به نام "()getVote" فراخوانی می گردد. این تابع به هنگام فعال و اجرا شدن رخداد "onclick"، فراخوانی می شود:






Do you like PHP and AJAX so far?

Yes:
No:

تابع ()getVote عملیات زیر را به ترتیب انجام می دهد:

  • ابتدا یک آبجکت XMLHttpRequest ایجاد می کند.
  • تابعی اعلان می کند که به هنگام آماده شدن پاسخ از سرویس دهنده (server response)، فراخوانده و اجرا می شود.
  • درخواست را به فایل مستقر بر روی سرویس دهنده هدایت می کند.
  • یک پارامتر (vote) به URL الصاق می کند (همراه با مقدار yes یا no.)

فایل PHP

صفحه ی مورد نظر از اپلیکیشن تحت وب و مستقر در سرویس دهنده را کد JavaScript بالا فراخوانی می کند. این صفحه در واقع یک فایل PHP به نام "poll_vote.php" با محتوای ذیل می باشد:


Result:

Yes: %
No: %

مقدار ورودی کاربر توسط کد JavaScript به سرویس دهنده ارسال می شود و به تبع آن اتفاقات زیر به ترتیب رخ می دهد:

  • محتوای فایل متنی به نام "poll_result.txt" بازیابی می شود.
  • محتوای فایل مزبور داخل دو متغیر قرار داده شده و مقدار 1 به متغیر انتخابی اضافه می شود.
  • نتیجه یا خروجی را داخل فایل "poll_result.txt" درج (write) می شود.
  • نمود گرافیکی از نتیجه ی نظرسنجی را در خروجی (سمت کلاینت و داخل نمایشگر) قرار می دهد.

فایل متنی

اطلاعات واکشی شده از سرویس دهنده و درواقع نتیجه ی نظرسنجی داخل فایل متنی (poll_result.txt) ذخیره می شود.

این داده ها با فرمت و شکل زیر ذخیره می شود:

0||0

عدد اول از سمت چپ، مقادیر "Yes" را تشکیل داده و عدد دوم نشانگر مقادیر "No" در نظر سنجی می باشد.

نکته:

لازم است مجوز ویرایش فایل متنی را به سرویس دهنده ی وب (web server PHP) اعطا نمایید.

1396/02/21 4104 2491
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...