انتقل إلى محتوى الدرس

Traditional POST vs AJAX Forms Comparison مقارنة النماذج التقليدية ونماذج AJAX التفاعلية

أرسل النماذج بدون تحديث الصفحة باستخدام FormData، وأرجع أخطاء التحقق لكل حقل من PHP، وابنِ نظام تصويت تفاعلي فوري.
1 صفوف تعليمية
PHP
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

اختر بين النماذج التقليدية بنمط PRG ونماذج AJAX التفاعلية بناءً على طبيعة تجربة المستخدم في كل شاشة.

  • استخدم نماذج PRG التقليدية عندما يؤدي إرسال النموذج للانتقال إلى صفحة جديدة كلياً (مثل تسجيل الدخول أو الخروج).
  • استخدم نماذج AJAX عندما يبقى المستخدم في نفس الشاشة (مثل التصويت الفوري، أو التعليقات، أو النوافذ المنبثقة، أو حفظ الإعدادات).
  • يتطلب كلا الأسلوبين نفس ضوابط التحقق على الخادم واستعلامات PDO المحضرة وفحص توكن CSRF دون أي استثناء!

يتيح فحص الرأس HTTP_ACCEPT لنفس ملف PHP إرجاع استجابة JSON لطلبات AJAX أو التحويل بنمط PRG للنماذج العادية.

وجه المقارنةالنموذج التقليدي POST + PRGنموذج AJAX عبر FormData + fetch()
Page ReloadFull browser navigation (303 Redirect)Zero reload (in-place DOM update)
Validation ErrorsStored in session flash + redirect backReturned immediately as HTTP 422 JSON
CSRF Token CarrierHidden <input name="csrf_token">Hidden input in FormData or X-CSRF-Token header
Success FeedbackSession flash banner on next pageLive toast / progress bar update
Server Security RulesFull validation + PDO + CSRFFull validation + PDO + CSRF
PHP
<?php
function wantsJson(array $server): bool {
    $accept = $server['HTTP_ACCEPT'] ?? '';
    $xhr    = $server['HTTP_X_REQUESTED_WITH'] ?? '';
    return str_contains($accept, 'application/json')
        || strtolower($xhr) === 'xmlhttprequest';
}

$simServer = ['HTTP_ACCEPT' => 'application/json, text/plain'];
echo "Client expects JSON? " . (wantsJson($simServer) ? "Yes" : "No") . "\n";
خلاصة المعرفة ومحطة الانتقال

ملخص الدرس

حصاد الدرس

مراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي

ماذا تعلّمت في هذا الدرس؟

اختر بين النماذج التقليدية بنمط PRG ونماذج AJAX التفاعلية بناءً على طبيعة تجربة المستخدم في كل شاشة. استخدم نماذج PRG التقليدية عندما يؤدي إرسال النموذج للانتقال إلى صفحة جديدة كلياً (مثل تسجيل الدخول أو الخروج). استخدم نماذج AJAX عندما يبقى المستخدم في نفس الشاشة (مثل التصويت الفوري، أو التعليقات، أو النوافذ المنبثقة، أو حفظ الإعدادات). يتطلب كلا الأسلوبين نفس ضوابط التحقق على الخادم واستعلامات PDO المحضرة وفحص توكن CSRF دون أي استثناء!