我需要创建一个从HTTP服务获取数据的例程,并填充<form>
,然后在生成的表单上自动调用submit()
:
<form target="_top" #paymentForm action="{{payment?.Url}}" method="POST">
<input *ngFor="let d of payment?.Data | keys" name="{{d}}" value= {{payment.Data[d]}}>
</form>
要填充此表单,我会收到一个返回付款对象的请求,其中包含要发布的网址和表单数据:
this.globalsService.PlaceOrder(this.globalsService.ShoppingCart)
.subscribe(res => {
this.payment = res;
this.paymentForm.nativeElement.submit()
});
即使代码执行成功并且所有数据最终都正确加载到表单中,但在执行submit()
操作时,表单尚未填充,因此重定向错误且所有值都是mmissing。
我正在寻找一个优雅的解决方案,不涉及setTimeout,重定向到另一个路由或使用生命周期钩子。