首页 > 解决方案 > 将表单数据转换为请求有效负载以在 Angular 中发布请求

问题描述

我有一个要求。以下几点将对此进行详细说明。

1.单击 Angular Web 应用程序上的按钮后,我必须重定向到浏览器中的另一个窗口。2. 从该新窗口中,应向外部 URL 发出发布请求(必须)。一旦响应来了,它应该显示在同一个窗口中。

我在这里遇到的挑战是,如果我检查 api,我发送的任何有效负载都会作为表单数据发送。但是,我必须作为 Json(请求有效负载)发送。

这是我的代码。当然,这只会发送表单数据。我尝试使用 XmlHttpRequest、fetch-api..等。如果我尝试使用这些替代方案,我只能实现上述一点。对于我的要求,打开新窗口和使用请求有效负载发布请求都是强制性的。我无法理解我应该如何将请求有效负载作为 json 而不是表单数据发送。

public openNewWindow(valueObject: any) {
    const url = valueObject.url;
    const name = 'Test';
    const params = {id : 12345};
    const form = document.createElement('FORM');
    form.setAttribute('method', 'POST');
    form.setAttribute('action', url);
    form.setAttribute('target', name);
    for (const index in params) {
      if (params.hasOwnProperty(index)) {
        const input = document.createElement('input');
        input.name = index;
        input.value = params[index];
        form.appendChild(input);
      }
    }
    document.body.appendChild(form);
    window.open(url, name);
    form.submit();
    document.body.removeChild(form);
  }

请问有什么帮助吗?

谢谢。

标签: javascriptangular

解决方案


推荐阅读