1

基本上在我完成更新和提交信息之后,我希望位于表单上方的表格在提交表单时使用更新的信息进行实际更改。我正在使用 spring 和 rest 的 spring 框架。我想知道我将如何做到这一点。我的代码仍处于峰值阶段。这是我用于获取和更新用户信息的 ajax 代码:

$('.ajax_test').click(function() {
                    var userId = +$(this).val();
                    $.get('${pageContext.request.contextPath}/ajax/' + userId, function(user) {
                        $(".personDetails #id").val(user.id);
                        $(".personDetails #name").val(user.name);
                        $(".personDetails #username").val(user.username);
                        $(".personDetails #email").val(user.email);
                        $(".personDetails #authority").val(user.authority);
                    });
                });

        $("#myForm").submit(function(e) {
                    $.post('${pageContext.request.contextPath}/updateUser', $(this).serialize(), function(response) {
                                alert("User has been updated");
                    });

                    e.preventDefault();
                });

这是我处理请求的控制器:

@RequestMapping("/ajax/{id}")
public @ResponseBody User getUser(Model model, @PathVariable int id) {
    User user = usersService.getUser(id);
    model.addAttribute("user", user);
    return user;
}


@RequestMapping(value = "/updateUser", method = RequestMethod.POST)
public @ResponseBody String updateUser(User user, Model model) {
    usersService.updateUser(user);
    return "users"; 
}

这是我列出所有用户的方法:

@Secured("ROLE_ADMIN")
@RequestMapping("/users")
public String getUsers(Model model) {

    List<User> users = usersService.getUsers();

    model.addAttribute("users", users);

    return "users";

}

我的 ajax 是否必须通过简单的 ajax GET 请求与上述方法进行交互?

4

0 回答 0