0Pricing
Sveltejs Academy · บทเรียน

ตัวช่วย error() และ redirect()

โยนข้อผิดพลาดและการเปลี่ยนเส้นทางที่มีชนิดจากฟังก์ชันโหลดและ action

ตัวช่วย error() และ redirect() เป็นบทเรียน Sveltejs Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Sveltejs Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Sveltejs Academy มีบทเรียนทั้งหมด 4 บทเรียน

ตัวช่วยในตัวสองรายการ

error() และ redirect() จาก @sveltejs/kit จัดการเส้นทางหลักสองแบบที่ผู้ใช้มองเห็น

ตัวช่วย error

โยนข้อผิดพลาดที่มีโครงสร้างพร้อมสถานะและข้อความ

import { error } from "@sveltejs/kit";
error(404, "Not found");

ตัวช่วย redirect

ส่งผู้ใช้ไปยังที่อยู่เว็บอื่นพร้อมสถานะ 3xx

import { redirect } from "@sveltejs/kit";
redirect(303, "/login");

รหัสสถานะสำหรับการเปลี่ยนเส้นทาง

301 สำหรับการเปลี่ยนถาวร 302 สำหรับการเปลี่ยนชั่วคราว 303 สำหรับ “ดูที่อื่น” ซึ่งมักใช้หลัง POST และ 307/308 สำหรับการเปลี่ยนที่คงเมธอดเดิมไว้

ใช้ในการโหลด

เรียกใช้ภายใน load เพื่อเปลี่ยนเส้นทางก่อนแสดงผล

if (!session) redirect(303, "/login");

ใช้ในการดำเนินการ

การดำเนินการของแบบฟอร์มสามารถเปลี่ยนเส้นทางหลังประมวลผลสำเร็จได้

รูปแบบการโยน

ตัวช่วยทั้งสองรายการจะโยนข้อผิดพลาด โค้ดหลังจากนั้นจึงไม่สามารถทำงานได้ และ TypeScript จะจำกัดชนิดให้ถูกต้อง

อย่าดักจับตัวช่วยเหล่านี้

อย่าครอบตัวช่วยเหล่านี้ด้วย try/catch แต่ปล่อยให้ SvelteKit จัดการ

สถานะ 401 กับ 403

ใช้ 401 เมื่อยังไม่ได้ยืนยันตัวตน และใช้ 403 เมื่อยืนยันตัวตนแล้วแต่ไม่มีสิทธิ์

ใช้ร่วมกับที่อยู่เว็บ

สร้างที่อยู่เว็บด้วยตัวสร้าง URL เพื่อให้เข้ารหัสได้อย่างปลอดภัย

redirect(303, `/login?next=${encodeURIComponent(url.pathname)}`);

การใช้งานจริง

กระบวนการยืนยันตัวตน การเปลี่ยนเส้นทางจากที่อยู่เว็บที่เลิกใช้แล้ว และการจัดการทรัพยากรที่ไม่พบ

ตรวจสอบอย่างรวดเร็ว

เหตุใดจึงใช้ redirect() แทน return

สรุปทบทวน

ใช้ error() สำหรับความล้มเหลว และใช้ redirect() สำหรับการนำทาง ทั้งสองตัวจะโยนข้อผิดพลาดและหยุดโค้ดส่วนที่เหลือ

คำถามที่พบบ่อย

บทเรียน “ตัวช่วย error() และ redirect()” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ตัวช่วย error() และ redirect()” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Sveltejs Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Sveltejs Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ตัวช่วย error() และ redirect()”

โยนข้อผิดพลาดและการเปลี่ยนเส้นทางที่มีชนิดจากฟังก์ชันโหลดและ action คุณปฏิบัติ Sveltejs Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Sveltejs Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Sveltejs Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “ตัวช่วย error() และ redirect()” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Sveltejs Academy นี้ได้ไหม

ได้ บทเรียน Sveltejs Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. +error.svelte สำหรับหน้าข้อผิดพลาดกำหนดเอง
  2. ข้อผิดพลาดที่คาดไว้และไม่คาดไว้
  3. ตัวช่วย error() และ redirect()
  4. หน้าข้อผิดพลาดในโครงร่างแบบซ้อน
← กลับไปที่ Sveltejs Academy