400错误不是一直发生的

时间:2014-07-09 02:49:44

标签: jquery ajax spring spring-mvc

我使用spring mvc,在ajax调用之后有时会获得400 error

    $.ajax({
        url : 'save_ao', type : 'post', 
        data : $('#formDepot').serialize() ,
        success : function(CODE) {   
            ...
        },      
        error : function(){ alert("error"); }
    }); 

我的表单bean有很多字段我无法将它们全部放在这里

@RequestMapping(value="/save_ao") 
public @ResponseBody
String save_ao(@ModelAttribute(value="infoao") DepotAObean infoao,
            ModelMap model) {

           ...
           ...
}

让我疯狂的是,有时ajax调用有效,有时它会给我400错误,知道我将相同数据放入我的jsp表单<form:form id="formDepot" method="get" modelAttribute="infoao" >

同样在服务器端(Apache tomcat)没有显示错误或异常,那么如何记录400个错误?

这是我的log4j2配置:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
    <Appenders>
        <Console name="CONSOLE" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
        </Console>
    </Appenders>
    <Loggers>

        <Root level="DEBUG">
            <AppenderRef ref="CONSOLE"/>
        </Root>

        <logger name="org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver" level="DEBUG" />


    </Loggers>
</Configuration>

2 个答案:

答案 0 :(得分:2)

  1. 查看DefaultHandlerExceptionResolver,它处理Spring Web MVC中的错误。我将首先通过DefaultHandlerExceptionResolver进行调试。
  2. DefaultHandlerExceptionResolver记录具有WARN级别的异常,因此请查找以下警告: 处理[“+ ex.getClass()。getName()+”]导致异常

答案 1 :(得分:0)

问题解决了因为当我在表单中放入不兼容的数据时会发生这种情况 我的表单bean infoao中有一个字段,它期望Double,但我输入的String值不仅包含数字。