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 很少发生,因为 urlvideoUpdate 无法映射到适当的映射。

这可能是因为您可能没有传递进行切点所需的参数。
我建议您检查代码的以下部分:

var savedata={
              video_Title:videotitle, 
              video_duration:videoduration,
              video_Url:videourl,
              video_Description:videodescription

    };

并确保您传递了必需的参数。

假设您点击的 URL 是正确的,您可以查看视频 class 的字段是否与您正在发布的 JSON 完全匹配