gpt4 book ai didi

jquery - 显示来自 REST GET 响应的 HTML 页面

转载 作者:行者123 更新时间:2023-11-28 22:24:53 25 4
gpt4 key购买 nike

这是我在 stackoverflow 中的第一篇文章,希望我的问题得到解答。我对前端技术没有那么丰富的经验。所以我需要你的帮助来找到解决我的问题的方法。

我开发了一个在 Tomcat 中运行的带有 REST 服务的小型应用程序。我想做的是调用 REST GET 服务,如 http://localhost:8080/myApp/project/12345 .服务看起来像这样

@Path("/project")
public class ProjectService {

private ProjectDAO projectDAO = new ProjectDAO();

@GET
@Path("{projectNumber}")
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
public Project getProject(@PathParam("projectNumber") Integer projectNumber,
@Context HttpServletResponse servletResponse) throws ApplicationException, IOException {
servletResponse.sendRedirect("/project.html");
return projectDAO.findProject(new Project(projectNumber));
}

POJO 看起来像这样:

@XmlRootElement
public class Project {

private Integer projectNumber;
private String projectName;

public Integer getProjectNumber() {
return projectNumber;
}

@XmlElement
public void setProjectNumber(Integer projectNumber) {
this.projectNumber = projectNumber;
}

public String getProjectName() {
return projectName;
}

@XmlElement
public void setProjectName(String projectName) {
this.projectName = projectName;
}

我的 HTML 页面是这样的

<!DOCTYPE html> <html lang="en"> <head>
<meta charset="UTF-8">
<title>Display project</title>

<script src="js/jquery-latest.js"></script>

</head>

<body> <h2 id="projectInfo"></h2> </body> </html>

这只是 HTML 页面的一小段,它包含了更多的元素。我想要做的是在 id 为“projectInfo”的 h2 标签中显示项目信息。如您所见,我想使用 jquery。在我的 servlet 中,我查询数据库以获取在 REST 调用中传递的 id 的项目信息并返回 JSON 响应。所有这一切都完美无缺,查询工作正常,返回响应并将其重定向到 project.html。

我想知道的:

  1. 这是重定向到 project.html 以显示项目信息的正确方法吗?
  2. 如果是,如何获取servlet返回的响应数据(Project的JSON响应)并用jquery显示在project.html的h2标签中?

还有一个提示,调用http://localhost:8080/myApp/project/12345是来自不受我控制的外部工具的第一个调用。这个工具想要做一些与项目相关的事情。因此,首先显示静态 HTML 页面不是一个选项,因为我不知道需要处理的项目编号。

感谢任何帮助!

谢谢迈克尔

最佳答案

从您的 HTML 页面进行 AJAX 调用,如下所示。

<!DOCTYPE html> <html lang="en"> <head>
<meta charset="UTF-8">
<title>Display project</title>
<script src="js/jquery-latest.js"></script>
<script>
$(document).ready(function(){
$.ajax({
"url" : "http://localhost:8080/myApp/project/12345",
"type" : "GET",
"success" : function(data) {
var projectData= JSON.stringify(data);
$("#projectInfo").text(projectData.projectName);
},
"error" : function(response,error)
{
console.log("ERROR: "+JSON.stringify(response));
}
});
});
</script>
</head>
<body> <h2 id="projectInfo"></h2> </body> </html>

希望这段代码能奏效。

关于jquery - 显示来自 REST GET 响应的 HTML 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50883526/

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