Я пытаюсь получить значения поля от jsp до контроллера весны mvc. Значения из jsp не имеют формы, поэтому я не могу использовать HttpServletRequest для непосредственного получения значений. Поэтому я получаю значения в js, используя document.getElementById ('fieldName'). Значение, создаю объект, строит его и отправляю на контроллер с помощью AJAX. Тем не менее, я получаю 415 (неподдерживаемый тип носителя). Ниже мой JS код и код контроллера:java POST 415 (Unsupported Media Type)
function getInput(){
var ageMin=document.getElementById('age_min').value;
var ageMax=document.getElementById('age_max').value;
var creditMin=document.getElementById('credit_min').value;
var obj = {"ageMin":ageMin,"ageMax":ageMax, "creditMin":creditMin};
console.log(obj);
var sobj=JSON.stringify(obj);
console.log(sobj);
$.ajax({
url: "http://localhost:8080/login/validate.mvc",
type: 'POST',
data: sobj,
contentType: "application/json; charset=utf-8",
success: function(results) {
}
});
}
Controller:
@RequestMapping(value = "/validate.mvc", method = RequestMethod.POST)
public void getValidate(@RequestBody Object sobj){
System.out.println(sobj);
}
Почему объект? И почему не правильный класс, который отражает объект JS, который вы получаете через '@ RequestBody'? –
потому что я получаю соответствующий объект. просто поля с страницы jsp. на странице нет формы. – tabby