المساعدان error() وredirect()
اطرح أخطاء وإعادات توجيه معرّفة بالأنواع من دوال load والإجراءات
المساعدان error() وredirect() درس مجاني في Sveltejs Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Sveltejs Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Sveltejs Academy 4 دروس في المجموع.
مساعدان مضمّنان
يتولى error() وredirect() من @sveltejs/kit معالجة المسارين الرئيسيين المواجهين للمستخدم.
مساعد error
يلقي خطأً منظمًا يتضمن الحالة والرسالة.
import { error } from "@sveltejs/kit";
error(404, "Not found");مساعد redirect
يرسل المستخدم إلى عنوان URL آخر مع حالة من فئة 3xx.
import { redirect } from "@sveltejs/kit";
redirect(303, "/login");رموز الحالة لإعادة التوجيه
301 للدائم، و302 للمؤقت، و303 بمعنى «راجع عنوانًا آخر» (وهو شائع بعد POST)، و307/308 للحفاظ على الطريقة.
الاستخدام في load
استدعِه داخل load لإعادة التوجيه قبل العرض.
if (!session) redirect(303, "/login");الاستخدام في actions
يمكن لإجراءات النماذج إعادة التوجيه بعد نجاح المعالجة.
نمط الإلقاء
يلقي كلا المساعدين خطأً؛ لذلك تصبح الشفرة اللاحقة غير قابلة للوصول. ويستنتج TypeScript الأنواع بصورة صحيحة.
لا تلتقطهما أبدًا
لا تضع هذين المساعدين داخل try/catch؛ ودع SvelteKit يتولى معالجتهما.
الحالة 401 مقابل 403
استخدم 401 عندما لا يكون المستخدم مصادقًا عليه؛ واستخدم 403 عندما يكون مصادقًا عليه لكن غير مُصرّح له.
الدمج مع عناوين URL
أنشئ عناوين URL باستخدام مُنشئ URL لضمان الترميز الآمن.
redirect(303, `/login?next=${encodeURIComponent(url.pathname)}`);استخدام واقعي
تدفقات المصادقة، وإعادة توجيه عناوين URL المتقادمة، ومعالجة الموارد المفقودة.
تحقق سريع
لماذا تستخدم redirect() بدلًا من return؟
مراجعة
استخدم error() لحالات الفشل وredirect() للتنقل. فكلاهما يلقي خطأً ويوقف تنفيذ الشفرة اللاحقة.
الأسئلة الشائعة
هل درس «المساعدان error() وredirect()» مجاني؟
نعم — نص درس «المساعدان error() وredirect()» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Sveltejs Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Sveltejs Academy 4 دروس في المجموع.
ماذا ستتعلم في «المساعدان error() وredirect()»؟
اطرح أخطاء وإعادات توجيه معرّفة بالأنواع من دوال load والإجراءات تتمرن على Sveltejs Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Sveltejs Academy؟
لا تُشترط خبرة سابقة. Sveltejs Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «المساعدان error() وredirect()»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Sveltejs Academy هذا؟
نعم. كل درس في Sveltejs Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- +error.svelte لصفحات الأخطاء المخصصة
- الأخطاء المتوقعة مقابل غير المتوقعة
- المساعدان error() وredirect()
- صفحات الأخطاء في التخطيطات المتداخلة