Những gì bạn thực sự muốn là plugin jQuery URL Parser . Với plugin này, việc nhận giá trị của một tham số URL cụ thể (đối với URL hiện tại) trông như thế này:
$.url().param('foo');
Nếu bạn muốn một đối tượng có tên tham số là khóa và giá trị tham số làm giá trị, bạn chỉ cần gọi param()
mà không có đối số, như thế này:
$.url().param();
Thư viện này cũng hoạt động với các url khác, không chỉ thư mục hiện tại:
$.url('http://allmarkedup.com?sky=blue&grass=green').param();
$('#myElement').url().param(); // works with elements that have 'src', 'href' or 'action' attributes
Vì đây là toàn bộ thư viện phân tích cú pháp URL, bạn cũng có thể nhận thông tin khác từ URL, như cổng được chỉ định hoặc đường dẫn, giao thức, v.v .:
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'
Nó cũng có các tính năng khác, hãy xem trang chủ của nó để biết thêm các tài liệu và ví dụ.
Thay vì viết phân tích cú pháp URI của riêng bạn cho mục đích cụ thể này mà kinda làm việc trong hầu hết các trường hợp, sử dụng một phân tích cú pháp URI thực tế. Tùy thuộc vào câu trả lời, mã từ các câu trả lời khác có thể trả về 'null'
thay vì null
, không hoạt động với các tham số trống ( ?foo=&bar=x
), không thể phân tích và trả về tất cả các tham số cùng một lúc, lặp lại công việc nếu bạn liên tục truy vấn URL cho các tham số, v.v.
Sử dụng trình phân tích cú pháp URI thực tế, không phát minh ra của riêng bạn.
Đối với những người không thích jQuery, có một phiên bản của plugin đó là JS thuần túy .