![](/img/trans.png)
[英]Pass array of arrays from javascript to spring mvc controller using ajax
[英]Pass value from AJAX to Controller using Spring MVC
这是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 Details
john john
smith phoneno. 324242
Address:xyz
如果我单击名称,即<li>
标签。 它将显示从MySQL到JSP的详细信息
将您的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;
}
您正在将GET请求发送到接收POST请求的控制器?
您还应该使用@RequestBody而不是@RequestParam,因为它是POST,并且您在正文中而不是在url中发送数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.