我有一个传统的后端服务器,处理表单数据作为请求参数。 我们将angular2放在前端。我想提交angular2表单,以便所有字段都作为请求参数发送,以便不必更改旧版后端。 要做到这一点,我有:Angular2 ngNoForm也做角度表单验证
<form ngNoForm action="http://localhost/config/api/v1/angular/submit" target="_blank" method="POST">
但我也想用angular2表单验证提交按钮:
<form #f="ngForm" ngNoForm action="http://localhost/config/api/v1/angular/submit" target="_blank" method="POST">
<button type="submit" [disabled]="!f.form.valid" class="small round">Submit</button>
但是这并不工作 - angular2主诉其#F =” ngForm“时声明ngNoForm。
有没有办法像往常一样做angular2表单验证,并提交表单作为常规请求参数?
我使用ReactiveForms与AJAX请求一起实现这一目标。我没有使用'ngNoForm'的经验。我将我的请求参数添加到一个字符串数组中,像'arr.join('&')'一样加入它们,并用'encodeURI(body)'对它进行编码。这绝对比它更多,但这是组织表单数据的要点。在你的TS中。如果这是您可以使用旧版应用程序进行的操作,我可以发布更详细的答案。 – DankestMemes
不幸的是,由于整个表单都是元数据驱动的,我并不知道页面上的哪些字段。我想我可以找出使用JavaScript的网页上的哪些字段,然后实施您提到的解决方案。谢谢。 – vanval