Невозможно получить параметры запроса в стратегии хешлокации в 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&param_y=abc

Я хочу получить значения этих параметров в своем приложении, как мне это сделать?

Я пробовал использовать активированный снимок маршрута, а также подписаться, оба дают мне пустые значения.

1 ответ

Решение

Пожалуйста, откройте свою клиентскую часть с параметрами фрагмента.

Параметры фрагмента - это параметры после # - также называемые параметрами клиента, потому что они не отправляются на сервер.

HTTP://localhost:4200?#hash_param_x=xyz&hash_param_y=abc

Затем получите к ним доступ через:

this.activatedRoute.snapshot.queryParams

HashLocationStrategy берет параметры хэша (фрагмента / клиента) и вставляет их в параметры запроса. Поскольку у вас их нет, вы не видите никаких параметров.

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