我正在尝试从MySQL数据库检索用户数据并将其放置为HTML形式.我正在使用AJAX调用Java中的Web服务.但这是行不通的.它没有任何错误.但是数据不会出现.当我尝试使用POSTMAN时,它可以正常工作,并且详细信息显示在JSON中.但...

我正在尝试从MySQL数据库检索用户数据并将其放置为HTML形式.我正在使用AJAX调用Java中的Web服务.但这是行不通的.它没有任何错误.但是数据不会出现.当我尝试使用POSTMAN时,它可以正常工作,并且详细信息显示在JSON中.但是使用AJAX无法正常工作.有谁能够帮助我?提前致谢. Users.java包含Getter和Setter.
Details.jsp中的代码
<form>
Enter Username:<br>
<input type="text" id="usernameSe" name="username"><br>
<h3>Details Will Appear Here</h3><br>
Username:<br>
<input type="text" id="username" name="username"><br>
Email:<br>
<input type="text" id="email" name="email"><br><br>
Password:<br>
<input type="text" id="password" name="password"><br>
<button id="btnGet">Save</button>
</form>
<script type="text/javascript">
$(document).ready(function()
{
$("#btnGet").click(function(event)
{
event.preventDefault();
var searchDetails;
$.ajax(
{
type: 'GET',
url: "http://localhost:8080/WebService/webresources/users/get/"+$('#usernameSe').val(),
dataType: "json",
success: function(data)
{
searchDetails = data;
renderDetails(searchDetails);
},
error: function(jqXHR, textStatus, errorThrown)
{
alert('Error: ' + textStatus);
}
});
});
});
function renderDetails(user)
{
$('#username').val(user.username);
$('#email').val(user.email);
$('#password').val(user.password);
};
</script>
服务中的代码
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("get/{username}")
public String getUsersByName(@PathParam("username")String username) throws ClassNotFoundException, SQLException
{
Gson g = new Gson();
UsersDAO dao = new UsersDAO();
List<Users> users = dao.getUsersByName(username);
return g.toJson(users);
}
UserDAO.java中的代码
public List<Users> getUsersByName(String username) throws ClassNotFoundException, SQLException
{
List<Users> user = new ArrayList<>();
Users u = null;
sql = "SELECT * FROM users WHERE username = ?";
con = DbConnection.getConnection();
pst = con.prepareStatement(sql);
pst.setString(1, username);
rs = pst.executeQuery();
while(rs.next())
{
u = new Users();
u.setUsername(rs.getString("username"));
u.setEmail(rs.getString("email"));
u.setPassword(rs.getString("password"));
user.add(u);
}
DbConnection.db();
return user;
}
解决方法:
您的REST服务正在返回一个数组,所以您要做的就是,
改变这个
searchDetails = data;
入这个
searchDetails = data[0];
织梦狗教程
本文标题为:如何使用Java,AJAX使用Rest Web Services从MySQL数据库检索数据并将其放置在HTML表单中


基础教程推荐
猜你喜欢
- vue图片放大 2023-10-08
- html form表单基础入门案例讲解 2022-11-23
- TypeScript 装饰器定义 2023-08-12
- 使用HTML5推送状态URL为单页网站配置nginx 2023-10-25
- javascript – 我希望在命令行上获得我的linux设备的准确纬度经度.就像HTML5中的Geolocation一样.我没有访问浏览器 2023-10-25
- jquery1.8版本使用ajax实现微信调用出现的问题分析及解决办法 2022-10-17
- Spring Boot + Vue3 前后端分离实战wiki知识库系统 2023-10-08
- JavaScript中的构造函数和实例对象之间的关系(构造器) 2023-07-10
- js字符串中空格和换行符(\r,\s,\n,\r\n)浅析 2022-08-30
- 细数Ajax请求中的async:false和async:true的差异 2023-01-26