java POST 415(不支持的媒体类型)

java POST 415 (Unsupported Media Type)

本文关键字:媒体 类型 不支持 POST java      更新时间:2023-09-26

我试图从jsp到spring mvc控制器获得字段的值。来自jsp的值不在表单中,因此我不能使用HttpServletRequest直接获取这些值。所以我得到的值在js使用document.getElementById('fieldName')。值,创建对象,对其进行格式化,并使用AJAX将其发送给控制器。然而,我得到一个415(不支持的媒体类型)错误。下面是我的js代码和控制器代码:

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);
        }

只需指定数据类型属性,它将解决您的问题

datatype : "json",