角度发布后重定向

时间:2018-07-18 11:45:12

标签: angular post angular6

嗨,我正在写一个从我的网站到外部网站的发帖请求。发布成功后,它应该自动重定向到给定的url,并以该站点的形式显示为2nd参数,但这不会发生。我尝试将responseType: "text"作为第三个参数,这导致响应页面中的html,我希望将其重定向到。如何在没有文本回复的情况下执行实际的重定向?

我的功能如下:

sendRequest() {
    //url that I am posting to and it should redirect to, params are given HTTPParams
    this.http.post(this.url,this.params)
      .subscribe(
        data => {
         //apparently following line is not needed.
         this.router.navigateByUrl(this.url);
        },
        error => {
          console.log("Error", error, this.params);
          this.data = error;
            },
        () => {
          console.log("POST is completed");
        });

  }

2 个答案:

答案 0 :(得分:1)

我找到了解决方案。正如fjc所说,我只需要在带有url的html中使用action =“ post”。以前我尝试过,但是什么也没发生。经过数小时的调试,我发现Formsmodule正在覆盖/阻止提交表单,因此这种方式行不通。

答案 1 :(得分:0)

在这种情况下,您不应该使用“ router.navigate”,因为使用它意味着您要导航到应用程序内部定义的路由。

请尝试以下方法:

sendRequest() {
    //url that I am posting to and it should redirect to, params are given HTTPParams
    this.http.post(this.url,this.params)
      .subscribe(
        data => {
         //apparently following line is not needed.
         //this.router.navigateByUrl(this.url);
         window.location.href = this.url;
        },
        error => {
          console.log("Error", error, this.params);
          this.data = error;
            },
        () => {
          console.log("POST is completed");
        });

  }

它应该重定向到上述网址,离开角度应用程序