如何调用外部网址?

时间:2018-09-19 06:37:41

标签: javascript angular typescript url angular-ui-router

我正在使用角度6编写应用程序,这里我有两个网址,

URL 1 http://authentication.hello.com的地方, URL 2 http://application.hello.com

如果用户通过url 1登录,则只能重定向到url 2。

如果用户直接提供网址为http://application.hello.com,则应重定向到http://authentication.hello.com进行登录。

我为此使用了以下内容,

class MyComponent {
  destroyed$ = new Subject();

  ngOnDestroy() {
    this.destroyed$.next();
  }

  myMethod() {
   this.apiHelper.get('some/url')
     .pipe( takeUntil(this.destroyed$) )
     .subscribe(()=> {
       // do things
     });
  }
}

我在这里用过

if (localStorage.getItem("isLoggedIn") === "true") {
  return true;
} else {
  window.location.href = "authentication.hello.com";
}

如果未登录则重定向到身份验证。

但是,如果用户直接以http://application.hello.com的形式提供该网址,则其显示为http://application.hello.com/authentication.hello.com,此处将其添加到给定的网址中,但我需要的是,它应该删除 http://application.hello.com,并且应该只有http://authentication.hello.com这样的网址,用户才能看到登录屏幕。

对于window.location.href = "authentication.hello.com"; ,也将收到与http://application.hello.com/authentication.hello.com相同的结果,而我需要单独不加载 window.location.replace("authentication.hello.com")来加载网址authentication.hello.com如果没有登录。

请帮助我使用纯JavaScript或打字稿来实现它。

1 个答案:

答案 0 :(得分:2)

使用完整URL在window.location.href中设置值:

window.location.href = "http://authentication.hello.com";