2015-08-13 2 views
0

Я пытаюсь получить значения поля от 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); 
     } 
+0

Почему объект? И почему не правильный класс, который отражает объект JS, который вы получаете через '@ RequestBody'? –

+0

потому что я получаю соответствующий объект. просто поля с страницы jsp. на странице нет формы. – tabby

ответ

1

просто указать атрибут типа данных, и он будет решить вашу проблему

datatype : "json", 
+0

Нет, я по-прежнему получаю ту же ошибку ... – tabby

+0

Является ли ваш контроллер ожидающим тип содержимого только как json? –

+0

вы можете вставить свой json здесь –

Смежные вопросы