Если вы мало работали со строками запросов, то я могу с уверенностью сказать вам, что они не так уж плохи… если вам не нужно поддерживать Internet Explorer.

На днях я работал над проектом в React, где я вводил строки запроса, чтобы сообщить фильтру таблицы на другой странице, какие параметры включать при загрузке. Идея была довольно простой. Однако я не знал, что интерфейс URLSearchParms() (используется для синтаксического анализа строк запроса), который поставляется "из коробки" почти во всех браузерах и узлах, не поддерживается Интернетом. Explorer 11, что делает IE единственным браузером, который его не поддерживает. Тот факт, что я не получил никаких полезных сообщений об ошибках от браузера, заставил меня решить дать этому приключению с разработкой IE полный НОЛЬ звезд.

Хорошо, теперь, когда я высказался, давайте посмотрим, как анализировать строки запроса.

Первый пример ниже показывает, как вы могли бы использовать старые добрые URLSearchParams. Это довольно прямолинейно. На втором снимке экрана показано, как использовать пакет под названием query-string для достижения того же. Большая разница в том, что если вы правильно используете строку запроса, вы получите кросс-браузерную поддержку, включая IE 11 и т. д.

1. Параметры поиска URL

Очень просто. Просто не забудьте импортировать модуль «url» Node, чтобы вы могли получить доступ к конструктору. Вот несколько полезных ресурсов:

https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams

https://nodejs.org/dist/latest-v8.x/docs/api/url.html

2. строка запроса

Это пакет npm, который вы можете легко установить с помощью приведенного ниже кода. ЕСЛИ вам нужна поддержка старых браузеров, включая IE 11, вам необходимо скачать версию 5 этого пакета. Это то, что сработало для меня… больше никаких пустых экранов IE :)

npm install query-string@5

3. Будьте боссом и создайте собственный парсер с регулярными выражениями

Извините, но я определенно не создавал свой собственный синтаксический анализатор только для этого поста, но это может быть хорошим упражнением для вас, если вы хотите разобраться с регулярными выражениями.

Спасибо, что прочитали. Если вы что-то узнали, пожалуйста, скажите спасибо и поддержите нас аплодисментами, или подпишитесь на меня, или на codenoobs… или на то и другое!