Java AJAX发布成功后更新表数据
我想在用户在弹出模式中发布更改后更新我的表数据。因此,用户(管理员)单击更新,然后更新必要的信息,然后通过ajax post函数提交更改。我已经得到了一切工作,直到这一点,但当用户关闭模式,他看到的是旧的信息,而不是更新的信息。我认为ajaxsuccess函数中应该有这样的功能,即用新信息重新填充表,但不确定如何做到这一点。这是到目前为止我的代码 AJAX功能:Java AJAX发布成功后更新表数据,java,javascript,jquery,ajax,spring,Java,Javascript,Jquery,Ajax,Spring,我想在用户在弹出模式中发布更改后更新我的表数据。因此,用户(管理员)单击更新,然后更新必要的信息,然后通过ajax post函数提交更改。我已经得到了一切工作,直到这一点,但当用户关闭模式,他看到的是旧的信息,而不是更新的信息。我认为ajaxsuccess函数中应该有这样的功能,即用新信息重新填充表,但不确定如何做到这一点。这是到目前为止我的代码 AJAX功能: $("#updateUser").click(function() { $.ajax({
$("#updateUser").click(function() {
$.ajax({
type: "POST",
url: "${pageContext.request.contextPath}/updateUser",
data: $("#updateForm").serialize(),
success: function(response) {
$("#alert").show();
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("Status: " + textStatus); alert("Error: " + errorThrown);
}
});
});
JSP代码:
<c:forEach var="user" items="${users}">
<tr>
<td id="id"><c:out value="${user.id}" /></td>
<td id="name"><c:out value="${user.name}"/></td>
<td id="username"><c:out value="${user.username}"/></td>
<td id="email"><c:out value="${user.email}"/></td>
<td id="dob"><c:out value="${user.dob}"/></td>
<td id="authority"><c:out value="${user.authority}"/></td>
<td>
<button data-togle="modal" href="#updateModal" class="updateUser" value="${user.id}">Update</button>
</td>
<td>
<a class="delete" href="<c:url value="/deleteUser"><c:param name="id" value="${user.id}"/></c:url>"><button>Delete</button></a>
</td>
</tr>
</c:forEach>
更新
我正在使用Spring构建这个应用程序。我的控制器类具有检索所有注册用户的功能。
获取所有用户的控制器方法:
@Secured("ROLE_ADMIN")
@RequestMapping("/users")
public String getUsers(Model model) {
List<User> users = usersService.getUsers();
model.addAttribute("users", users);
return "users";
}
@Secured(“角色管理”)
@请求映射(“/users”)
公共字符串getUsers(模型){
List users=usersService.getUsers();
model.addAttribute(“用户”,用户);
返回“用户”;
}
只需将foreach循环写入变量,并在服务器端处理完成后将其发送回浏览器,然后使用$('ele').replaceWith(response)代码>谢谢你的回复,但不知道怎么做。你能帮忙吗?或者提供某种类型的资源,向您展示如何操作?您将数据发布到控制器,然后函数updateUsers
启动..在updateUsers内部,在退出函数之前,您可以调用getUsers()
并通过返回数据构建要发送回浏览器的局部视图。然后success回调的response
参数将包含getUsers()
数据。然后可以使用$('ele').replaceWith(response)
将当前表替换为更新后的表。或者……您可以简单地存储用户提交的更新,成功后使用JS替换DOM中的值/文本