Spring MVC ajax POST请求在发送大字符串时失败

Spring MVC ajax POST请求在发送大字符串时失败,ajax,spring,spring-mvc,web-applications,Ajax,Spring,Spring Mvc,Web Applications,我正在开发一个web应用程序,其中包括某种基于web的XML编辑器。基本上,我使用HTMLTextArea作为“编辑器”,当用户单击“保存”按钮时,包含修改过的XML的AJAX post请求被发送到服务器。我使用$.ajax函数 function saveXML(){ var cm = editor.mirror; var textXML = cm.getValue(); // textXML is a String representing edited XML

我正在开发一个web应用程序,其中包括某种基于web的XML编辑器。基本上,我使用HTMLTextArea作为“编辑器”,当用户单击“保存”按钮时,包含修改过的XML的AJAX post请求被发送到服务器。我使用$.ajax函数

 function saveXML(){
     var cm = editor.mirror; 
     var textXML = cm.getValue(); // textXML is a String representing edited XML
     $.ajax({
            url: "saveEditedBatch",
            data: {xmlString: textXML}, 
            type: 'POST',
            success : function(response){

            },
            error : function (){  
                alert("error");
            } 
        });  
在服务器端,我有一个控制器

    @RequestMapping(value = "/saveEditedBatch", method = RequestMethod.POST)
public @ResponseBody JsonResponse saveEditedBatch(@RequestParam(value = "xmlString") String xmlString){
    JsonResponse response = new JsonResponse();
    byte[] byteXML = xmlString.getBytes();
    byteXML =  xmlAccess(new ByteArrayInputStream(byteXML));

    // do something with byteXML

    return response;
}

当我的XML和发送到服务器的字符串很小时,一切都正常。但是,当XML很大时,我会得到“HTTP状态400-所需的字符串参数'xmlString'不存在”,即使我知道我正在传递它。我能做什么?

这与字符串大小无关,您提到错误代码是400。
对于长字符串,错误代码414-uri太大,并且它是针对限制为近8000个字符的GET请求的

我把它修好了。我更改了apache tomcat的server.xml文件。名义上,我将maxPostSize设置为-1,表示无限制。谢谢,感谢拉格诺-指明了方向)

好吧。。。当我传递短字符串时,它起作用)当我试图传递大字符串时,它失败了。那么问题出在哪里?如果您的请求格式不正确,则会出现错误代码400。根据W3,org,“由于语法错误,服务器无法理解该请求。客户端不应在未经修改的情况下重复该请求。”这意味着当long出现错误时,请查看该请求。您使用什么应用程序服务器?