Angular2:如何在外部网站上发布+重定向表单

时间:2016-10-25 07:33:38

标签: angular angular2-forms

我在Angular2网页上有一个表单。

当我在表单上点击提交时,我希望等同于"方法="后"&..... GT;发生。

也就是说,表单的动作脚本在另一个网站上,我想将表单发布到该网站。然后在那个外部网站上。

我在头上撞了一堵砖墙;提交按钮似乎已被Angular接管,因此只需点击提交即可。当我需要异步处理数据时,我知道如何执行此操作,但是当我想移动到该外部站点时却不知道。

我不需要任何花哨的角度验证等,只是将表单发布到外部网站,然后在该网站上。

我一直在阅读和谷歌搜索,提供的唯一建议似乎是做一个http.post,然后订阅承诺,然后重定向。但是,该重定向如何处理我想用表单提交的数据?

欢迎任何指示,谢谢。 拉结

3 个答案:

答案 0 :(得分:5)

感谢angular2-forms标签在我发布时显示为一个选项,我想我已在Angular2 ngNoForm and also do angular form validation找到了答案

在ngForm" ngNoForm"上有一个(相当未记录的)选项。这将从此特定表单中删除自动ngForm处理。这让我回到了提交按钮的标准用法,并获得了我需要的行为。

答案 1 :(得分:0)

我使用纯Angular JS html来实现此要求。

<form ngNoForm action="https://your_url" target="_blank" method="POST">
  <input hidden name='backEndUrl' [(ngModel)]="parameters['backEndUrl']">

  <input hidden name='bankNumber' [(ngModel)]="parameters['bankNumber']">
  ...
  <input hidden name='version' [(ngModel)]="parameters['version']">
  <div class="container text-center mt-10">
  <button class="btn-primary" type="submit" onclick="submit()">send</button>
 </div>
</form>

答案 2 :(得分:-2)

Angular是用于在浏览器中提供用户界面的库,因此要侦听HTTP请求,您需要HTTP服务器(例如Apache或带有Express的Nodejs)。

在node.js app.use(bodyParser.json())中,然后在app.post中,我们可以打印req.body以获取所有发布值