JavaScript URLSearchParams.append() — додати ще одне значення


Метод append() додає значення параметра, не чіпаючи наявні.

автор: NagarD

Загальний опис

Саме він створює повторювані ключі: ?tag=css&tag=js. Потрібен там, де значень справді може бути кілька — теги, категорії, обрані фільтри.

Якщо ж значення має бути одне (сторінка, сортування), бери set() — інакше параметри почнуть накопичуватись, і адреса поступово перетвориться на сміття.

автор: NagarD

Нотатка

Найчастіша помилка — append() у пагінації. Клацнув по сторінках п'ять разів — і в адресі п'ять параметрів page, а сервер бере перший.

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
append 49+ 29+ 10.1+ 36+ 17+ -
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
append 49+ yes yes 10.3+

Приклади

+ запропонувати свій приклад у пісочниці

Кілька тегів — append; одна сторінка — set.

const params = new URLSearchParams();

// кілька значень — append
for (const tag of ['css', 'js', 'html']) {
    params.append('tag', tag);
}

console.log(params.toString()); // 'tag=css&tag=js&tag=html'

// одне значення — set
params.set('page', '2');

// а так параметри накопичуються — це баг:
// params.append('page', '3'); → page=2&page=3
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід