我在Angular2网页上有一个表单。
当我在表单上点击提交时,我希望等同于"方法="后"&..... GT;发生。
也就是说,表单的动作脚本在另一个网站上,我想将表单发布到该网站。然后在那个外部网站上。
我在头上撞了一堵砖墙;提交按钮似乎已被Angular接管,因此只需点击提交即可。当我需要异步处理数据时,我知道如何执行此操作,但是当我想移动到该外部站点时却不知道。
我不需要任何花哨的角度验证等,只是将表单发布到外部网站,然后在该网站上。
我一直在阅读和谷歌搜索,提供的唯一建议似乎是做一个http.post,然后订阅承诺,然后重定向。但是,该重定向如何处理我想用表单提交的数据?
欢迎任何指示,谢谢。 拉结
答案 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以获取所有发布值