Если я правильно понимаю вопрос, вы пытаетесь реализовать следующий сценарий:
- Пользователь открывает
http://header.com
(Web1) в веб-браузере и отправляет некоторые данные вваш API. - API возвращает URL-адрес в качестве ответа и некоторые параметры.
- Веб-приложение на Web1 берет URL-адрес и перенаправляет браузер на
http://post.header.com
(Web2) (или открывает его в новомtab / window). - Web2 должен использовать параметры из результата, возвращенного API, и что-то с ними делать.
- Ни при каких условиях вы не хотите, чтобы эти параметры были в браузере.адресная строка.
Если мое понимание неверно, игнорируйте остальную часть этого ответа.В таком случае, пожалуйста, отредактируйте свой вопрос и опишите сценарий более подробно.
Это факты, которые необходимо учитывать при попытке решить эту проблему:
- Поскольку вы используете разные домены, LocalStorage не будет разделен между ними (как вы узнали), поэтому его нельзя использовать для отправки параметров.Смотрите здесь: В HTML5, является ли объект localStorage изолированным для каждой страницы / домена?
- Вы не можете отправлять заголовки HTTP с URL-адресом, который будет открыт в веб-браузере.Это просто не то, как работают браузеры.
- Изначально Cookies не были предназначены для совместного использования между разными доменами, но это изменилось.Вы должны иметь возможность установить домен
header.com
в Cookie и субдомены (например, post.header.com
) должны иметь возможность его использовать.Подробнее см. Здесь: Совместное использование cookie-файлов между поддоменом и доменом
Возможное решение / обходные пути:
- параметр cookie, задав домен (см. пункт 3 выше).
- Если вы можете открыть Web2 в новой вкладке / окне (вместо перенаправления текущего окна), тогда Web1 может использовать
window.postMessage
для отправки сообщений(и параметры) в Web2.Web2 может использовать слушателя для реагирования на это сообщение.Пример кода здесь: Как я могу отправить событие из родительского окна в его дочернее окно? - Вы можете использовать кеш (например,
MemoryCache
) в своем веб-API и хранить Key-Value-Пары, т. Е. Guid плюс объект с параметрами.Затем вы должны вернуть ключ своему клиенту, который затем перенаправит на http://post.header.com?key=<Key>
.Web2 может использовать ключ и получить параметры из API.При использовании этого метода у вас все еще есть параметр URL, но фактические параметры не являются частью URL.