ตัวช่วย 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- +error.svelte สำหรับหน้าข้อผิดพลาดกำหนดเอง
- ข้อผิดพลาดที่คาดไว้และไม่คาดไว้
- ตัวช่วย error() และ redirect()
- หน้าข้อผิดพลาดในโครงร่างแบบซ้อน