URL และสตริงคิวรี

URL และ Query Strings

ชั้น URL ใช้การพาร์เซแบบสไตล์ WHATWG — พฤติกรรมเดียวกับที่เบราว์เซอร์ใช้ — ดังนั้น URL ที่ดึงจากเอกสารจะถูกแก้ไขและทำให้เป็นมาตรฐานในลักษณะที่จะเป็นเช่นเดียวกับในเอเย่นต์ผู้ใช้จริง.


การแยกวิเคราะห์และการตรวจสอบความถูกต้อง

URL.parse() แยกวิเคราะห์ URL แบบสัมบูรณ์หรือสัมพัทธ์; URL.can_parse() ให้คำตอบเกี่ยวกับความถูกต้องโดยไม่ต้องสร้างอ็อบเจกต์. การล้มเหลวในการพาร์เซจะทำให้เกิดข้อผิดพลาดประเภท URLParseError.

สตริง Query

URLSearchParams อ่านและแก้ไขพารามิเตอร์ของ query: append(), get(), get_all(), has(), และ delete() ครอบคลุมการทำงานแบบรอบเดียว, รักษา semantics ของค่าหลายค่า.


เคล็ดลับและแนวทางปฏิบัติที่ดีที่สุด

  • Use can_parse() สำหรับการตรวจสอบอย่างง่ายในฟิลเตอร์; สร้างด้วย parse() เฉพาะเมื่อคุณต้องการส่วนประกอบ
  • จำไว้ว่าคีย์ของ query ซ้ำ — ใช้ get_all() เมื่อพารามิเตอร์อาจปรากฏมากกว่าหนึ่งครั้ง
  • ดักจับ URLParseError แทนการตรวจสอบล่วงหน้าด้วย regular expressions

ปัญหาทั่วไป

ปัญหาสาเหตุแก้ไข
URL สัมพัทธ์ไม่สามารถแยกวิเคราะห์ได้ไม่ได้ระบุฐานระบุฐานตาม URL.parse()
ส่งคืนค่า query ตัวแรกเท่านั้นใช้ get() กับคีย์ที่ซ้ำกันใช้ get_all()
อักขระแปลกในส่วนประกอบการทำให้เป็นมาตรฐาน WHATWG ขณะทำงานคาดหวัง — สิ่งนี้ตรงกับพฤติกรรมของเบราว์เซอร์

FAQ

การพาร์สทำตามมาตรฐาน WHATWG หรือไม่?

ใช่ — การทำ normalization และการแยกส่วนประกอบสะท้อนพฤติกรรมของเบราว์เซอร์.

ฉันจะตรวจสอบ URL โดยไม่ต้องพาร์สได้อย่างไร?

URL.can_parse() คืนค่าความถูกต้องโดยไม่ต้องสร้างอ็อบเจ็กต์.

ฉันสามารถแก้ไข query string ได้โดยตรงหรือไม่?

ใช่ — URLSearchParams รองรับการทำ round-trip ของ append/get/has/delete.


API Reference สรุป

คลาส/เมธอดคำอธิบาย
URL.parseแยก URL
URL.can_parseการตรวจสอบความถูกต้องโดยไม่มีการสร้าง
URLSearchParams.appendเพิ่มพารามิเตอร์ query
URLSearchParams.get_allค่าทั้งหมดสำหรับคีย์
URLParseErrorการ parse แบบกำหนดประเภทล้มเหลว

ดูเพิ่มเติม

 ภาษาไทย