Невозможно получить параметры запроса в стратегии хешлокации в Angular
Я использую стратегию хеширования в Angular
routing.module.ts
@NgModule({
imports: [
RouterModule.forRoot(routes, { useHash: true })
],
exports: [
RouterModule
]
})
app.module.ts
@NgModule({
providers: [{ provide: LocationStrategy, useClass: HashLocationStrategy }]
})
Я перенаправляюсь из другого приложения в свое приложение angular с этим URL-адресом
HTTP://localhost:4200?param_x=xyz¶m_y=abc
Я хочу получить значения этих параметров в своем приложении, как мне это сделать?
Я пробовал использовать активированный снимок маршрута, а также подписаться, оба дают мне пустые значения.
1 ответ
Решение
Пожалуйста, откройте свою клиентскую часть с параметрами фрагмента.
Параметры фрагмента - это параметры после # - также называемые параметрами клиента, потому что они не отправляются на сервер.
HTTP://localhost:4200?#hash_param_x=xyz&hash_param_y=abc
Затем получите к ним доступ через:
this.activatedRoute.snapshot.queryParams
HashLocationStrategy
берет параметры хэша (фрагмента / клиента) и вставляет их в параметры запроса. Поскольку у вас их нет, вы не видите никаких параметров.