🌐 VI

🧩 Trình tạo Query String

Thêm các dòng key/value và nhận ngay chuỗi truy vấn được mã hóa phần trăm chính xác, được tạo bằng URLSearchParams. Nhập URL gốc để xem toàn bộ URL đã ghép, hoặc chuyển sang Parse và dán một chuỗi truy vấn hay URL có sẵn để tách từng tham số thành bảng.

Kết quả

            
HƯỚNG DẪN

Tìm hiểu thêm

01

1. Vì sao nên mã hóa bằng URLSearchParams?

Chuỗi truy vấn thường chứa ký tự không phải ASCII, khoảng trắng và các ký tự đặc biệt như `&`, `=`, và `#`. Việc nối tay rất dễ gây lỗi - thiếu mã hóa, mã hóa hai lần, hoặc xung đột dấu phân tách. URLSearchParams là API tiêu chuẩn của trình duyệt, mã hóa phần trăm chính xác từng giá trị theo quy tắc application/x-www-form-urlencoded và ghép chúng an toàn bằng `&`. Công cụ này dùng đúng logic đó để tạo đầu ra.

02

2. Các khóa trùng lặp được xử lý như thế nào?

Các chuỗi truy vấn như `category=IT&category=Dev`, nơi cùng một khóa lặp lại, rất phổ biến với bộ lọc chọn nhiều hoặc tham số dạng mảng. Tab Parse đọc mọi mục theo đúng thứ tự qua URLSearchParams.entries(), hiển thị một hàng riêng cho mỗi giá trị ngay cả khi khóa bị lặp - tránh lỗi thường gặp là chỉ giữ giá trị đầu tiên và âm thầm bỏ phần còn lại.

03

3. Chuyển đổi qua lại giữa Build và Parse

Dán một URL đầy đủ vào Parse và công cụ sẽ tách đúng phần sau `?` (và trước bất kỳ `#` nào) làm chuỗi truy vấn. Ngược lại, dán kết quả từ Build trở lại Parse để kiểm tra mã hóa có đúng không và mọi giá trị có quay về đúng dạng ban đầu hay không.

Câu hỏi thường gặp

Các giá trị không phải ASCII như emoji hoặc ký tự có dấu có được mã hóa đúng không?
Có. URLSearchParams mã hóa mọi ký tự không phải ASCII bằng mã hóa phần trăm UTF-8 chuẩn. Bất kỳ giá trị nào bạn nhập - ký tự có dấu, emoji, khoảng trắng - đều được mã hóa an toàn.
Điều gì xảy ra với khóa hoặc giá trị rỗng?
Các dòng có khóa rỗng sẽ bị loại khỏi kết quả. Một dòng có khóa nhưng giá trị rỗng vẫn được giữ, dưới dạng `key=`.
Điều gì xảy ra nếu tôi không nhập URL gốc?
Nếu không có URL gốc, công cụ chỉ hiển thị chính chuỗi truy vấn, ví dụ `?key=value&...`. Nhập URL gốc để nhận toàn bộ URL đã ghép, ví dụ `baseUrl?key=value&...`.
Dữ liệu của tôi có được gửi lên máy chủ không?
Không. Cả việc tạo và phân tích đều diễn ra hoàn toàn trong JavaScript của trình duyệt và không bao giờ được gửi lên máy chủ.