Почему я не могу заставить encodeURIComponent () работать в Firefox? - PullRequest
0 голосов
/ 23 января 2019

Работает в других браузерах, преобразует символ & в %26, который является ожидаемым выводом.

var CustomerID = "1234A&B";
let qString = "CustomerID=" + encodeURIComponent(CustomerID);

Вывод в IE11, Edge и Chrome равен CustomerID=1234A%26B, чтоЯ ожидаю, но в Firefox метод как будто не принимает: CustomerID=1234A&B.Это проблема для меня, потому что теперь сервер получает параметр B со значением null, потому что он переводит амперсанд в разделитель строки запроса и интерпретирует B как второй параметр.

Моя реализация неверна?Я использую Firefox 64.0.2 (9 января 2019 г.).

1 Ответ

0 голосов
/ 25 января 2019

Я был тупицей. Раньше я использовал атрибут маршрутизации и просто передавал значения в качестве параметра маршрута (это MVC на серверной части). Затем я изменил его, чтобы использовать строки запроса, поскольку параметры имеют специальные символы, а для маршрутизации атрибутов требуются более глубокие потенциально рискованные модификации, чтобы разрешить использование специальных символов в качестве параметров.

В любом случае имя параметра в строке запроса было помечено неправильно. Это не было проблемой, когда я просто использовал значение параметра в маршрутизации атрибутов, но для строк запроса вам необходимо точно указать, каково имя параметра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...