در این مقاله میخوانید
پیاده سازی قابلیت نظرسنجی با AJAX (AJAX Poll)
مثال زیر یک قابلیت نظرسنجی ساده را نمایش می دهد که در آن نتایج بدون بارگذاری مجدد کل صفحه و در لحظه نمایش داده می شود. در واقع زمانی که کاربر یکی از دو گزینه را انتخاب می کند، برنامه ی زیر نتیجه را از سرویس دهنده خوانده و بلافاصله بدون بروز رسانی کل صفحه، در اپلیکیشن تحت وب حاضر به نمایش می گذارد.
شرح مثال – فایل HTML
زمانی که کاربر یکی از دو گزینه ی فوق را انتخاب می کند، تابعی به نام "()getVote" فراخوانی می گردد. این تابع به هنگام فعال و اجرا شدن رخداد "onclick"، فراخوانی می شود:
Do you like PHP and AJAX so far?
تابع ()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) اعطا نمایید.