javascript – Angular 2/4:如何在第一个ajax提交的回调中通过组件发布HTML表单(非ajax)?

我希望通过以旧学校方式(非Ajax)POST输入字段将表单提交到外部站点,它也提交但是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);
        });
    }
}

现在,首先这个表单通过普通的反应形式帖子(ajax)在我的网站中保存数据.现在之后我以旧方式提交表格向Paypal整个表格发送到第三方但我得到

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

任何帮助表示赞赏. @ H.B.谢谢

解决方法

您可能应该使用onSubmit($event)然后取消事件到您的自定义逻辑.您可以通过event.target访问该表单.在角度绑定中传递这可能只是不起作用,我可能会弄错.

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...