gpt4 book ai didi

java - Response.sendRedirect() URL 未在浏览器上打开

转载 作者:行者123 更新时间:2023-12-01 18:54:54 26 4
gpt4 key购买 nike

用例:我在 SpringBoot 应用程序中有一个公共(public)休息端点,它将用户重定向到 Angular 页面。

我有以下代码来重定向来 self 的 RestController 的请求:

@RequestMapping(value = "/search", method = RequestMethod.POST)
public ResponseEntity<?> search(HttpServletRequest request, HttpServletResponse response) {

// some logice

response.sendRedirect("http://localhost:4200/#/entry");
return new ResponseEntity(HttpStatus.OK);
}

为了测试端点,我有一个包含以下代码的 HTML 页面:

<h1>Public Tracking</h1>
<button onclick="loadDoc()">Search</button>
<script>
function loadDoc() {
console.log("button clicked");
var xhttp = new XMLHttpRequest();
xhttp.open("POST", "http://localhost:8080/api/search", true);
xhttp.send();
}
</script>

从浏览器控制台和网络,我可以看到正在接收重定向的请求,但页面未打开。我可以在响应正文中看到 Angular 页面,但是如何在浏览器上获取它?

success response

PS:我看到其他帖子说 response.sendRedirect() 不起作用。就我而言,它可以工作,但是我没有打开页面。

最佳答案

它似乎正在处理表单提交。碰巧用下面的代码修复了:

<form method="POST" id="mySearchForm">
<input type="submit" value="Search">
</form>

<script>
document.getElementById('mySearchForm').action = "http://localhost:8080/api/search";
</script>

关于java - Response.sendRedirect() URL 未在浏览器上打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59683408/

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