400 错误请求!!当我尝试在 spring mvc 中向 Servlet 发送 ajax 请求时
400 Bad Request!! when I try to send ajax request to Servlet in spring mvc
/*ajax request to servlet to perform update operation*/
var savedata={
video_Title:videotitle,
video_duration:videoduration,
video_Url:videourl,
video_Description:videodescription
};
$.ajax({
url:'videoUpdate',
type:'POST',
cache:false,
data: savedata,
contentType: "application/json; charset=utf-8",
success: function(response) {
alert("Updated Successfully");
},
error:function()
{
alert("oops sorry something went wrong. we apologize for the inconvenience");
}
});
/*Controller Class*/
@RequestMapping(value ="videoUpdate",method = RequestMethod.POST,consumes=MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody Status updateVideo(@RequestBody Video video) {
try {
System.out.println("update servlet");
dataServices.updateVideo(video);
return new Status(1,"video updated Successfully");
}
catch (Exception e) {
return new Status(0,e.getMessage().toString());
}
}
我的问题是如何在我的 servlet 中接收 ajax-json 请求数据 class.Is 这是在 [=18= 中从 ajax 捕获一组数据的正确方法] mvc.Or 需要其他注释来避免 400 错误!?
如果您指定
contentType: "application/json; charset=utf-8",
这意味着您期望 return 中的 JSON 数据 - 如果它无效 JSON 则它会转到错误块。
您可能正在 return 字符串 :
return new Status(0,e.getMessage().toString());
尝试省略 contentType
行。同时发布浏览器控制台错误可能有助于我们更轻松地确定问题。
注意:如果要指定传出数据类型,可以使用 dataType
设置。
400 Bad Request
很少发生,因为 url
即 videoUpdate
无法映射到适当的映射。
这可能是因为您可能没有传递进行切点所需的参数。
我建议您检查代码的以下部分:
var savedata={
video_Title:videotitle,
video_duration:videoduration,
video_Url:videourl,
video_Description:videodescription
};
并确保您传递了必需的参数。
假设您点击的 URL 是正确的,您可以查看视频 class 的字段是否与您正在发布的 JSON 完全匹配
/*ajax request to servlet to perform update operation*/
var savedata={
video_Title:videotitle,
video_duration:videoduration,
video_Url:videourl,
video_Description:videodescription
};
$.ajax({
url:'videoUpdate',
type:'POST',
cache:false,
data: savedata,
contentType: "application/json; charset=utf-8",
success: function(response) {
alert("Updated Successfully");
},
error:function()
{
alert("oops sorry something went wrong. we apologize for the inconvenience");
}
});
/*Controller Class*/
@RequestMapping(value ="videoUpdate",method = RequestMethod.POST,consumes=MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody Status updateVideo(@RequestBody Video video) {
try {
System.out.println("update servlet");
dataServices.updateVideo(video);
return new Status(1,"video updated Successfully");
}
catch (Exception e) {
return new Status(0,e.getMessage().toString());
}
}
我的问题是如何在我的 servlet 中接收 ajax-json 请求数据 class.Is 这是在 [=18= 中从 ajax 捕获一组数据的正确方法] mvc.Or 需要其他注释来避免 400 错误!?
如果您指定
contentType: "application/json; charset=utf-8",
这意味着您期望 return 中的 JSON 数据 - 如果它无效 JSON 则它会转到错误块。
您可能正在 return 字符串 :
return new Status(0,e.getMessage().toString());
尝试省略 contentType
行。同时发布浏览器控制台错误可能有助于我们更轻松地确定问题。
注意:如果要指定传出数据类型,可以使用 dataType
设置。
400 Bad Request
很少发生,因为 url
即 videoUpdate
无法映射到适当的映射。
这可能是因为您可能没有传递进行切点所需的参数。
我建议您检查代码的以下部分:
var savedata={
video_Title:videotitle,
video_duration:videoduration,
video_Url:videourl,
video_Description:videodescription
};
并确保您传递了必需的参数。
假设您点击的 URL 是正确的,您可以查看视频 class 的字段是否与您正在发布的 JSON 完全匹配