2017-03-09 93 views
0

以下是jQuery的是提交一个表单的编程Angular2提交POST程序

$('#form').attr('action', window.siteRoot + 'Users/Cards/').submit(); 

我怎样才能做同样的Angular2?

以下代码的问题在于它是Ajax,因此它需要返回响应。我不想回到新的观点。

return this.http.post(GlobalVariables.SITE_ROOT + url, dto, { headers }) 
     .subscribe(function (data) { 
     console.log('received response'); 
    }); 

感谢很多

+0

只需要使用一个窗体而不是?如果你不需要执行异步请求,就避免这样做。 – briosheje

+0

但我需要通过代码提交表单... – Mark

回答

0

您需要使用路由器的POST完成之后重定向到新的。

export class ExampleComponent 
    constructor(private router: Router) {} 

    public function submitAndRedirect() { 
    return this.http.post(GlobalVariables.SITE_ROOT + url, dto, { headers }) 
     .subscribe(function (data) { 
      this.router.navigate(['newRoute', {id: id}]); 
    }); 
    } 
}