javascript - 将表单数据转换为请求有效负载以在 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);
}
请问有什么帮助吗?
谢谢。