0
AJAXリクエストでフォームのデータをDBに追加します。変更が発生するページを呼び出すコントローラは、フォーム、データがそこから私は(ページ上で、後に動的に)DBに入力したいがあるページで「イベント」パラメータ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;
}
を受け入れます
<%@ 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エラーによって壊れています。どうすればこの問題を解決できますか?
ありがとう、このようなニュアンスが問題を解決しました;) –