الدرس 4 من 8
إرسال مرّة واحدة فقط
- 12 دقيقة
- 5 فحوص
- 3 تلميحات
- إلى المطلوب
هدف الدرس
منع الطلب المكرّر عند الضغط مرّتين
الشرح
يضغط المستخدم «اشترِ» فلا يرى أي تغيير، فيضغط مرّة ثانية، والنتيجة طلبان وشحنتان ثم اتصال بخدمة العملاء.
والحماية من ذلك على طبقتين: حارس في الكود، وهو متغيّر يمنع تنفيذ الإرسال مرّة ثانية قبل أن ينتهي الأول، وحارس في الواجهة، وهو أن تعطّل الزرّ وتغيّر نصّه ليرى المستخدم أن شيئًا يحدث.
ولا يكفي أحدهما دون الآخر، فالمتغيّر وحده لا يُري المستخدم شيئًا، وتعطيل الزرّ وحده لا يحمي الكود لأن حدث الإرسال قد يصل من غير الزرّ.
المطلوب
اجعل الطلب يُرسَل مرّة واحدة مهما تكرّر الضغط، وأعد الزرّ إلى حاله بعد انتهاء الطلب.
الفحوص
5 فحوص- الضغط السريع المتكرّر يُرسل طلبًا واحدًا
- الزرّ يُعطَّل أثناء الإرسال
- الزرّ يعود للعمل بعد الانتهاء
- الصفحة لا يُعاد تحميلها عند الإرسال
- يمكن الإرسال من جديد بعد انتهاء الطلب الأول