为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Spring MVC 将值从 AJAX 传递到控制器

使用 Spring MVC 将值从 AJAX 传递到控制器

长风秋雁 2021-10-13 10:07:14
这是html代码  <ul id="myUL">    <c:forEach var="userBean" items="${list}">       <li id="username"><a href="#">${userBean.username}</a></li>    </c:forEach>      </ul><div class="card"><p>${userBean.phoneno}</p><p>${userBean.Address}</p></div>这是 AJAX<script>  $("#myUL").click(function(){      var username=$('#username').val();      $.ajax({            url: "details",            type: 'GET',            data: {username:username},            success: function(data){                   $("#card").html(data);         }      });  });  </script>这是控制器代码@RequestMapping(value="details", method = RequestMethod.POST)    @ResponseBody    public ModelAndView details(@RequestParam UserBean userBean, HttpServletRequest request, HttpServletResponse response)    {        ModelAndView view = new ModelAndView();        String username=userBean.getUsername();        if(retrieveService.getdetail(userBean)!= null)        {            view.setViewName("welcomes");        }        return null;    }我不知道如何将 AJAX 中的值传递给控制器。这是示例输出Name                  Detailsjohn                  johnsmith                 phoneno. 324242                      Address:xyz如果我点击名称即<li>标签。它将显示从 MySQL 到 JSP 的详细信息
查看完整描述

3 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

将您的 JavaScript 代码更改为:


<script>

    $("#myUL").click(function(){

        var username=$('#username').val();

        $.ajax({

            url: "details",

            type: 'POST',

            data: {username:username},

            success: function(data) {

                         $("#card").html(data);

            }

        });

    });

</script>

并将您的控制器代码更改为:


@PostMapping(value = "details")

    public ModelAndView details(@RequestBody UserBean userBean, HttpServletRequest request,

            HttpServletResponse response) {


        ModelAndView view = new ModelAndView();

        String username = userBean.getUsername();


        if (retrieveService.getdetail(userBean) != null) {

            view.setViewName("welcomes");

        }


    return view;

}


查看完整回答
反对 回复 2021-10-13
?
哔哔one

TA贡献1854条经验 获得超8个赞

您还应该使用 @RequestBody 而不是 @RequestParam 因为它是一个 POST 并且您在正文中而不是在 url 中发送数据。


查看完整回答
反对 回复 2021-10-13
?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

您正在向接收 POST 请求的控制器发送 GET 请求?


查看完整回答
反对 回复 2021-10-13
  • 3 回答
  • 0 关注
  • 130 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信