Java 将ajax调用中的对象发送到spring controller并获取不支持的媒体类型消息
我有一个类似这样的ajax调用Java 将ajax调用中的对象发送到spring controller并获取不支持的媒体类型消息,java,jquery,ajax,spring,spring-mvc,Java,Jquery,Ajax,Spring,Spring Mvc,我有一个类似这样的ajax调用 var userList = { "active": activeUsersId, "inactive": inactiveUsersId } $.ajax({ type: "POST", data: userList, url: "/ewaanmapbuilder/rest/user/status", contentType: "application/json", success: function (flag) {
var userList = {
"active": activeUsersId,
"inactive": inactiveUsersId
}
$.ajax({
type: "POST",
data: userList,
url: "/ewaanmapbuilder/rest/user/status",
contentType: "application/json",
success: function (flag) {
if (flag == true) {
$("#messageContainer").text("Status Updated Successfully!");
}
else {
$("#messageContainer").text("Status Updation Failed!");
}
$('#messageContainer').css('display', 'block');
setTimeout(function () { $('#messageContainer').css('display', 'none'); $('.registration-container').css('margin-top', '10%') }, 3000);
}
});
@ResponseBody
@RequestMapping(value = EwaanMapBuilderConstant.UPDATE_USER_STATUS, method = RequestMethod.POST,consumes= MediaType.APPLICATION_JSON_VALUE)
public boolean updateUserStatus(@RequestBody ActiveUserList userList, HttpServletRequest request) {
try {
HttpSession session = request.getSession();
String adminUserId = session.getAttribute(EwaanMapBuilderConstant.USER_ID).toString();
userService.updateUserStatus(userList, adminUserId);
}
catch(Exception e) {
logger.error("update status failed" +e);
return false;
}
return true;
}
在这个ajax调用中,我将用户列表作为AOObject发送,我的spring控制器如下
var userList = {
"active": activeUsersId,
"inactive": inactiveUsersId
}
$.ajax({
type: "POST",
data: userList,
url: "/ewaanmapbuilder/rest/user/status",
contentType: "application/json",
success: function (flag) {
if (flag == true) {
$("#messageContainer").text("Status Updated Successfully!");
}
else {
$("#messageContainer").text("Status Updation Failed!");
}
$('#messageContainer').css('display', 'block');
setTimeout(function () { $('#messageContainer').css('display', 'none'); $('.registration-container').css('margin-top', '10%') }, 3000);
}
});
@ResponseBody
@RequestMapping(value = EwaanMapBuilderConstant.UPDATE_USER_STATUS, method = RequestMethod.POST,consumes= MediaType.APPLICATION_JSON_VALUE)
public boolean updateUserStatus(@RequestBody ActiveUserList userList, HttpServletRequest request) {
try {
HttpSession session = request.getSession();
String adminUserId = session.getAttribute(EwaanMapBuilderConstant.USER_ID).toString();
userService.updateUserStatus(userList, adminUserId);
}
catch(Exception e) {
logger.error("update status failed" +e);
return false;
}
return true;
}
但是我的ajax调用给了我415个不支持的媒体类型错误。我尝试了这么多的选项,但我没有弄错。您是否尝试过数据:JSON.stringifyuserList,您可以尝试在请求中使用accept标头-'accept':'application/JSON',@AlokPathak我尝试过添加以下标头:{'accept':'application/JSON','Content Type':'application/JSON'},但它仍然不是working@ArghyaC不,它不工作,为什么我应该使用JSON。strinigy我不需要它,也许额外的属性数据类型:“JSON”是有用的。