Query string = tham số URL gửi lên server. Xây dựng thủ công bằng encodeURIComponent.
ES6 one-liner
let obj = { name: 'John', age: 25, city: 'Chicago' };
let qs = Object.keys(obj)
.map(k => `${encodeURIComponent(k)}=${encodeURIComponent(obj[k])}`)
.join('&');
console.log(qs); // "name=John&age=25&city=Chicago"
Native modern: URLSearchParams (ES2015+)
const params = new URLSearchParams(obj);
console.log(params.toString()); // "name=John&age=25&city=Chicago"
// Hoặc từ object
const params2 = new URLSearchParams({ name: 'John', age: 25 });
params2.append('city', 'Chicago');
console.log(params2.toString());
Lợi ích URLSearchParams
- Auto encode/escape đúng chuẩn.
- Hỗ trợ multi-value key:
params.append('tag', 'a'); params.append('tag', 'b'). - Dễ parse ngược:
new URLSearchParams(window.location.search).