gpt4 book ai didi

angular - 来自 Angular 的非 XHR(非 AJAX)发布请求

转载 作者:太空狗 更新时间:2023-10-29 17:32:45 26 4
gpt4 key购买 nike

有一项要求是在我们的 Angular 应用程序中使用外部服务。外部服务有自己的用户界面。因此,我们必须在给定外部服务的 URL 上使用纯 HTTP Post 请求重定向到外部服务。

有没有办法从 Angular 进行非 AJAX post 调用,以便屏幕重定向到外部服务网页。

最佳答案

解决方案是动态创建一个表单并提交。我在服务类中创建了一个方法,如下所示,以使其工作。然后从组件调用此方法。创建了一个辅助方法 createHiddenElement 因为有更多的参数要发布。希望这对某人有帮助。

  postToExternalSite(dataToPost: SomeDataClass): void {
const form = window.document.createElement("form");
form.setAttribute("method", "post");
form.setAttribute("action", "https://someexternalUrl/xyz");
//use _self to redirect in same tab, _blank to open in new tab
form.setAttribute("target", "_blank");

//Add all the data to be posted as Hidden elements
form.appendChild(this.createHiddenElement('firstname', dataToPost.firstName));
form.appendChild(this.createHiddenElement('lastname', dataToPost.lastname));

window.document.body.appendChild(form);
form.submit();
}

private createHiddenElement(name: string, value: string): HTMLInputElement {
const hiddenField = document.createElement('input');
hiddenField.setAttribute('name', name);
hiddenField.setAttribute('value', value);
hiddenField.setAttribute('type', 'hidden');
return hiddenField;
}

关于angular - 来自 Angular 的非 XHR(非 AJAX)发布请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51985353/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com