У меня проблемы с получением данных из сообщения ajax в простом приложении, просто выполняя несколько тестов.
Я работаю с чем-то легким:
У меня 2 класса:
Controller.java:
@RequestMapping(value = "/urlpost", method = {RequestMethod.GET, RequestMethod.POST} )
public urlPostTest(HttpServletRequest request, HttpServletResponse response) {
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("post_name");
String age = request.getParameter("post_age");
System.out.println("His name is: " + name);
System.out.println("His age is: " + age);
}
А также
PostingClass.js
function posting(){
$.ajax({
url: 'urlpost',
method: 'POST',
data: {
'post_name': "Peter",
'post_age': "22"
},
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function () {
console.info("Send data: SUCCES.");
}
});
}
Ajax правильно переходит к URL-адресу, но запрос всегда равен нулю.
В чем может быть проблема?.
Спасибо.
извините, моя вина, этой строки там быть не должно. отредактировал.
какой фреймворк вы используете для создания веб-приложения?
request.getParameter("post_name"); // works on application/x-www-form-urlencoded
Чтобы получить данные из запроса приложения / json, используйте что-то вроде этого:
String jsonStr = IOUtils.toString(request.getInputStream());
JSONObject jsonObj = new JSONObject(jsonStr);
String name = getString("name");
Зачем вам эта первая строчка
HttpServletRequest request;
? Вы пытались удалить его?