Сообщение должно перенаправить на другую страницу - PullRequest
0 голосов
/ 30 апреля 2019

У меня есть пост-вызов, который должен опубликовать некоторый контент на URL, после того, как это перенаправление должно произойти, я вижу URL-адреса перенаправления и получаю правильные данные в console-> network, но страница не перенаправляется.

Попытка получить доступ к заголовку ответа, где он указывает URL-адрес перенаправления в 'location', но не может получить доступ и к заголовку.

Местоположение / abs / Redirect? ClientId = abc

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

Это мой код для поста.

const test= this.http.post(url, JSON.stringify({ Req: req 
})).subscribe(
      data => {
        console.log(data);
       }
     );

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

1 Ответ

0 голосов
/ 30 апреля 2019

Как отметил @varundhariyal, маршрутизатор не будет работать так же для внешних ссылок. A обходной путь должен использовать: window.location.href= yourURL


Если нужный URL-адрес находится в ответе, вы можете попробовать что-то вроде этого:

Определите экземпляр Router в вашем конструкторе:

constructor(private route: Router)

(вам нужно будет импортировать его: import { Router } from '@angular/router';)

и используйте его для перехода к нужному URL в ответе на подписку:

const test= this.http.post(url, JSON.stringify({ Req: req })).subscribe(
  data => {
    this.route.navigate(data.url);   //Only works for routes defined in the RouterModule

    window.location.href = data.url; //Absolute path to any URL
  }
);
...