gpt4 book ai didi

java - 如何从 Angular 通过 springboot 重定向

转载 作者:行者123 更新时间:2023-12-01 19:42:14 25 4
gpt4 key购买 nike

我有后端 springboot 来执行重定向

    @RequestMapping(value = "/test/page", method = RequestMethod.POST)
public @ResponseBody void getPage(@RequestBody custRequest req, HttpServletRequest request, HttpServletResponse response) {
response.sendRedirect("https:www.google.com");
}

像这样的服务调用

  getPage(user: User) {
const bodyString = JSON.stringify(user);
const header = new HttpHeaders({ 'Content-Type': 'application/JSON' ,
'Accept' : 'text/html' });
return this.httpclient.post('/test/page', bodyString, {headers: header, responseType: 'text'} );
}

单击时的按钮。

  onSubmit(user: User) {
if (user && user.userID && user.password) {
this.user.session = this.uuid;
this.loginService.getLogin(user).subscribe(
(res) => {
console.log('post res');
console.log(res);
// window.location.href = data.url; sanitizer
this.data = this.sanitizer.sanitize(SecurityContext.HTML, res);
},
error => {
console.log('Error', error);
},
() => {
console.log('POST is completed');
});

但在结果页面中我没有得到正确的登陆页面。相反,我停留在同一页面,控制台会打印

<!doctype html>
<html lang="en">
<head>
...

</html>

我的问题是如何显示实际内容?

最佳答案

简单地说,您的代码获取 google.com 的源代码。我不确定这是否是您想要的行为,或者您只是想要浏览器重定向。请更详细地解释您想要实现的目标。虽然不太明白,但我会尽力解答。

要进行浏览器重定向,只需执行 window.location.href = "http://www.w3schools.com ";

如果您想获取页面并显示外部页面的内容,我认为 iframe 将是最直接的方法。

如果响应是完整的 html 页面,则不推荐使用下面的内容,因为它是无效的 HTML(即正文中不能有 html、head、body)。它还可能会下载不必要的文件。

否则,在 Angular 组件中创建一个属性,我们将其命名为“myHTML”。然后将其绑定(bind)到您创建的 html 元素的innerHTML 属性

<div [innerHTML]="myHTML"></div>

然后,一旦您获取 URI(我建议直接执行 - GET 到最终 url,您执行此操作的方式很奇怪),只需将响应分配给“myHTML”属性即可

关于java - 如何从 Angular 通过 springboot 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59165237/

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