angular - 如何使用 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 表单发送的那个。
如果问题幼稚或表述不当,我深表歉意,但我很感激任何信息或建议。
亲切的问候
解决方案
推荐阅读
- php - 从 PHP PDO 应用引擎到 Cloud SQL 的连接缓慢
- android - 为 Imageview 请求 RecyclerViewAdapter.notifyItemChanged 的示例
- ffi - 如何使用 Elmish 和 Fable 将参数从 html 页面传递到编译的 js 应用程序
- c# - 当状态码设置为 .net core 2.1 时,授权过滤器继续开启
- symfony - Symfony 上按 ID 列出的两个不同表的列表
- android-workmanager - WorkManager 自定义约束
- angular - 将服务中的布尔值链接到多个组件
- java - How to add tags when saving an object in an Algolia index using the Java API
- async-await - 运行 .sendKeys 后量角器挂起
- ios - 按下 backBarButton(来自 NavigationController)时如何播放声音?(对于斯威夫特)