jjzjj

javascript - Angular 2/4 : How to POST HTML form (Not ajax) thru component on callback of 1st ajax submit?

coder 2024-07-23 原文

我想通过以老式方式(非 Ajax)发布输入字段来将表单提交到外部站点,它也提交了但是 Angular 在跳转到外部页面之前在控制台中给我错误。

我在 HTML(模板)中使用了以下代码

<form (submit)="onSubmit($event)" method="POST"  [formGroup]="form" *ngIf='form' action="https://www.sandbox.paypal.com/cgi-bin/webscr" >

在组件中

onSubmit(obj: any) {

    if (!this.form.valid) {
        this.helper.makeFieldsDirtyAndTouched(this.form);
    } else {
        this.loader = true;
        // save data in online_payment_ipn
        this.paymentService.saveOnlinePaymentIpn({}, 'paypal')
        .subscribe(response => {
            obj.target.submit();
        }, (err: any) => {
            this.loader = false;
            this.helper.redirectToErrorPage(err.status);
        });
    }
}

现在这个表单首先通过普通的 react 表单 post(ajax) 将数据保存在我的站点中。之后,我以旧的提交方式将整个表单发布到第 3 方,如 paypal,但我得到了

表单提交已取消,因为表单未连接

感谢任何帮助。 @H.B.谢谢

最佳答案

您可能应该使用 onSubmit($event) 然后将事件取消到您的自定义逻辑。您可以通过 event.target 访问表单。在 Angular 绑定(bind)中传递 this 可能只是行不通,我可能弄错了。

关于javascript - Angular 2/4 : How to POST HTML form (Not ajax) thru component on callback of 1st ajax submit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49446854/

有关javascript - Angular 2/4 : How to POST HTML form (Not ajax) thru component on callback of 1st ajax submit?的更多相关文章

随机推荐