0
我想用AJAX請求將表單中的數據添加到數據庫中。調用上發生變化的頁面控制器接受「事件」參數ajax請求時沒有找到參數
@RequestMapping(value = "/event")
public ModelAndView event(HttpServletRequest request, HttpSession session)
{
ModelAndView modelAndView = new ModelAndView();
SimpleUser simpleUser = simpleUserService.findById((Integer) session.getAttribute("userId"));
Profile profile = simpleUser.getProfile();
modelAndView.addObject("nameOfEventOwner", profile.getName());
modelAndView.addObject("surnameOfEventOwner", profile.getSecondName());
int id = Integer.parseInt(request.getParameter("event"));
System.out.println(id);
modelAndView.addObject("event", eventService.findById(id));
modelAndView.setViewName("eventpage");
return modelAndView;
}
在頁面上有一個表單,數據從中我想進入DB(後動態頁面上)
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--
Created by IntelliJ IDEA.
User: Yura
Date: 10.05.2017
Time: 15:30
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<script src="<c:url value="/resources/jquery-3.2.1.min.js" />"></script>
<script>
function call() {
var comment = $("#comment").val();
var rate = $("#rate").val();
$.ajax({
url : "/addcomment",
method : 'GET',
data : {
comment : comment,
rate : rate,
idEvent: ${event.getId()},
idAuthor: ${sessionScope.simpleUser.getId()}
},
dataType: "html",
success : function(results){
alert("add");
}
});
};
</script>
<title>Title</title>
</head>
<body>
owner: ${nameOfEventOwner} ${surnameOfEventOwner}
<br>${event.getNameOfEvent()} <pre> ${event.getDateOfEvent()}}</pre>
<br> ${event.getDescription()}
<br> ${event.getTag()}
<br>
<form>
Commentary: <input type="text" id="comment" placeholder="text">
Rating: <input type="text" id="rate" placeholder="rating">
<button type="submit" id="button" onclick="call()">Add commentary</button>
</form>
</body>
</html>
我想通過AJAX將這些值傳遞給控制器。但是當我傳遞這些值時,我的頁面被重新加載,並且我被NumberFormatExseption錯誤破壞,因爲'event'參數沒有被初始化。我怎麼解決這個問題?
謝謝,這樣的細微差別解決了這個問題;) –