สิ่งที่คุณต้องการจริงๆเป็นปลั๊กอิน jQuery URL Parser ด้วยปลั๊กอินนี้การรับค่าของพารามิเตอร์ URL เฉพาะ (สำหรับ URL ปัจจุบัน) มีลักษณะดังนี้:
$.url().param('foo');
หากคุณต้องการให้วัตถุที่มีชื่อพารามิเตอร์เป็นคีย์และค่าพารามิเตอร์เป็นค่าคุณจะเรียกใช้param()
โดยไม่มีอาร์กิวเมนต์เช่นนี้
$.url().param();
ห้องสมุดนี้ยังทำงานร่วมกับ URL อื่น ๆ ไม่เพียง แต่ปัจจุบัน:
$.url('http://allmarkedup.com?sky=blue&grass=green').param();
$('#myElement').url().param(); // works with elements that have 'src', 'href' or 'action' attributes
เนื่องจากนี่เป็นไลบรารีการแยกวิเคราะห์ URL ทั้งหมดคุณสามารถรับข้อมูลอื่น ๆ จาก URL เช่นพอร์ตที่ระบุหรือพา ธ โปรโตคอล ฯลฯ :
var url = $.url('http://allmarkedup.com/folder/dir/index.html?item=value');
url.attr('protocol'); // returns 'http'
url.attr('path'); // returns '/folder/dir/index.html'
มันมีคุณสมบัติอื่น ๆ เช่นกันตรวจสอบที่หน้าแรกของมันสำหรับเอกสารและตัวอย่างเพิ่มเติม
แทนการเขียน parser URI ของคุณเองสำหรับวัตถุประสงค์เฉพาะที่บอกทำงานในที่สุดกรณีใช้ parser URI ที่เกิดขึ้นจริง โค้ดจากคำตอบอื่น ๆ สามารถส่งคืน'null'
แทนnull
ไม่สามารถใช้กับพารามิเตอร์ที่ว่างเปล่า ( ?foo=&bar=x
) ไม่สามารถแยกวิเคราะห์และส่งคืนพารามิเตอร์ทั้งหมดในครั้งเดียวทำงานซ้ำหากคุณค้นหา URL ซ้ำ ๆ เพื่อหาพารามิเตอร์เป็นต้น
ใช้ตัวแยกวิเคราะห์ URI ที่แท้จริงอย่าประดิษฐ์ของคุณเอง
สำหรับผู้ที่เกลียดชัง jQuery มีรุ่นของปลั๊กอินที่ JS