Angular Universal - состояние передачи пусто, если URL-адрес имеет небезопасный символ - повторяющиеся вызовы xhr

Я использую Angualar (12) с Angular Universal. У меня возникла проблема с состоянием передачи между сервером и клиентом. Я использую TransferHttpCacheModule на стороне клиента и ServerTransferStateModule в модуле на стороне сервера. У меня нет специальной реализации состояния передачи.

Например:

Тестовый URL: / a / b / c

Этот URL-адрес не содержит небезопасных символов, и все работает нормально. HTML-ответ имеет ожидаемое тело, а serverApp-state имеет ожидаемые данные.

Тестовый URL: / a / b / 여

Этот URL-адрес имеет небезопасный символ, а запрос браузера на HTML выглядит как / a / b/%EC%97%AC. HTML-ответ для этого запроса имеет ожидаемое тело, но <script id="serverApp-state" type="application/json">{}</script></body></html> пусто, и на стороне клиента дублируются вызовы xhr.

Есть идеи, как предотвратить дублирование вызовов xhr в этом случае?

1 ответ

Я нашел решение. я использовал encodeURIComponent в частях URL-адреса utf-16.

Другие вопросы по тегам