首页 > 解决方案 > 如何使用 Angular http 客户端复制表单操作帖子

问题描述

我们有 Angular 项目——以及一个处理支付的组件。在组件模板中,我们有一个 html 表单,它使用 action 属性向支付站点发出带有支付请求的发布请求。

/**
HTML
**/
<form #formSubmit action='https://mockpayment.com' method='post' [formGroup]="myForm">
           <input type=hidden name=ENCODED formControlName="encoded">
           <input type=hidden name=URL_OK [value]="paymentOkUrl">
           <input type=hidden name=URL_CANCEL [value]="paymentFailUrl">
       </form>

ENCODED 是一个 64 位编码的字符串,包含 trader-id、sum 等。完成请求后,用户被重定向到 mockpayment.com 页面,该页面提示他向交易者支付一定金额(此信息

现在,如何使用 Angular 中的 http 客户端来实现这一点?

我假设这段代码应该可以解决问题:

 let formData = new FormData();
  formData.append( "PAGE",'paylogin' );
  formData.append( "ENCODED",this.ENCODED );
  formData.append( "URL_OK",this.paymentOkUrl);
  formData.append( "URL_CANCEL",this.paymentFailUrl );

  this.http.post(this.EPAY_URL, formData).subscribe(
    res => console.log(res),
    err => console.log(err))

确实发出了请求,状态为 POST 200 OK,但实际结果是 HTTP 语法错误,好像我提供的 formData 没有复制我通过 html 表单发送的那个。

如果问题幼稚或表述不当,我深表歉意,但我很感激任何信息或建议。

亲切的问候

标签: angularformshttp-post

解决方案


推荐阅读