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.