Hướng dẫn dùng setparameter JavaScript
Getting a URL ParameterGiả sử có ta có một URL như sau: Show
Function dưới đây giúp ta lấy được các URL paramater dưới dạng một object:
Dưới đây là một số ví dụ khi sử dụng function này:
Hoặc bạn có thể test trực tiếp tại:
Những điều cần biết trước khi sử dụng function này
Nếu bạn chỉ muốn một function để đưa vào code của mình để giải quyết vấn đề thì bạn đã hoàn thành. Nhưng nếu bạn muốn hiểu cách thức hoạt động của function, thì cùng xem tiếp. Phần sau đây giả sử rằng bạn đã có một số kiến thức về JavaScript, bao gồm các functions, objects và arrays. Nếu không bạn hãy xem MDN JavaScript reference. How the Function WorksNhìn chung, function lấy một chuỗi truy vấn URL (phần sau dấu Với dòng đầu tiên, nếu chúng ta đã chỉ định một URL, lấy mọi thứ sau dấu
Tiếp theo, chúng ta sẽ tạo một object để lưu trữ các parameter:
Nếu chuỗi query tồn tại, chúng ta sẽ bắt đầu phân tích nó. Trước tiên, chúng ta phải đảm bảo tắt phần bắt đầu từ # vì nó không phải là một phần của chuỗi truy vấn:
Bây giờ chúng ta có thể chia chuỗi truy vấn thành các phần thành phần của nó:
Điều đó sẽ cho chúng ta một mảng trông như thế này:
Tiếp theo, chúng tôi sẽ lặp lại qua mảng này và chia từng mục thành một khóa và một giá trị, mà chúng tôi sẽ sớm đưa vào đối tượng của mình:
Hãy để Lign gán khóa và giá trị cho các biến riêng lẻ. Nếu có một giá trị tham số, chúng tôi sẽ đặt nó thành true để chỉ ra rằng tên tham số tồn tại. Hãy thay đổi tùy thuộc vào trường hợp sử dụng của bạn:
Bạn có thể set tất cả các tên paramater và value thành chữ thường. Bằng cách đó, bạn có thể tránh các tình huống khi ai đó gửi dữ liệu đến một URL với dạng
Tiếp theo, chúng ta cần xử lý các loại đầu vào khác nhau mà chúng ta có thể nhận được trong Nếu nó là một mảng có đánh index, chúng ta muốn Để minh họa điều này, thì dưới đây là các ví dụ với output mà chúng ta mong đợi:
Code để thực hiện chức năng:
Cuối cùng, chúng ta trả về object với các paramater và value. Nếu URL của bạn có bất kỳ ký tự đặc biệt được mã hóa nào như dấu cách
(được encode thành
Chỉ cần cẩn thận để không decode một cái mà đã decode nếu không bạn có thể mắc lỗi, đặc biệt là có liên quan đến phần trăm. An Alternative for Modern BrowsersNếu bạn không cần hỗ trợ các trình duyệt cũ, bạn có thể xem URLSearchParams interface, định nghĩa các method để làm việc với query string của URL:
Nó cũng cung cấp các ConclusionCode trong bài viết này hoạt động cho các trường hợp sử dụng phổ biến nhất, và kết quả là bạn sẽ nhận được một object chứa các paramater truy vấn trong URL. Nếu bạn làm việc với bất kỳ trường hợp nào khác, chẳng hạn như dấu cách không phổ biến hoặc format đặc biệt, thì hãy kiểm tra lại và điều chỉnh cho phù hợp. Nếu bạn muốn làm việc nhiều hơn với các URL, có sẵn các thư viện cụ thể, chẳng hạn như plugin URL jQuery và Medialize URI.js. Vì về cơ bản nó là thao tác với chuỗi, nên thường sử dụng các phương thức JavaScript đơn giản. Cho dù bạn sử dụng code riêng của mình hoặc sử dụng thư viện, thì hãy kiểm tra chắc chắn và đảm bảo rằng mọi thứ hoạt động cho các trường hợp sử dụng của bạn. Referenceshttps://www.sitepoint.com/get-url-parameters-with-javascript/ |