HTTP post请求返回HTML错误而不是返回Java Object

时间:2017-04-16 17:50:18

标签: javascript java jquery ajax

这是我正在制作AJAX请求的代码的控制器:

控制器:

@RequestMapping(value = "/tools/searchConfigurations", method = RequestMethod.POST)
public @ResponseBody ProductConfiguration searchConfigurations(@RequestParam String productNumber,
        @RequestParam String productName, @RequestParam String productType, HttpServletResponse response) {

    try {
        // I am setting values here 


        return productConfiguration.build();
    } catch (Exception e) {
        final String errorMsg = "Encountered error when viewing " +
                "product configurations. Exception: " + e.getMessage() +
                ExceptionUtils.getStackTrace(e);

        logger.error(errorMsg);
        return null;
    }
}

这是对控制器的AJAX调用。

AJAX致电:

JavaScript:

$("#searchConfigurationsBtn").click(function(e){
    e.preventDefault();
    $.ajax({type: "POST",
            url: "/tools/searchConfigurations",
            data: { productName: $("#productName").val(),
            productType: $("#productType").val(),
            productNumber: $("#productNumber").val()},
            success: function(result) {
                $("#searchConfigurationsResponse").show();
            },
            error: function(result) {
                console.log(JSON.stringify(result));
            }                
    });
});

这是获取控制器参数的HTML / JSP文件。

JSP:

        <form id="searchConfigurationsForm" role="form" autocomplete="off">
            <div class="form-group">
                <label for="productName">Brand Name:</label> 
                    <input type="text"
                        class="form-control" id="productName"
                        placeholder="Enter brand name"
                        name="productName">
                <label for="productType">TYPE:</label>
                    <input type="text" class="form-control" id="productType"
                        placeholder="TYPE" name="productType"> 
                <label for="productNumber">UPC of Item:</label> 
                    <input type="text"
                        class="form-control" id="productNumber" placeholder="Number of Item"
                        name="productNumber">
            </div>
            <div class="button">
                <button type="button" class="btn btn-large btn-primary"
                    id="searchConfigurationsBtn">Search</button>
            </div>

            <div id="searchConfigurationsResponse" style="display: none;">
                <jsp:include page="/WEB-INF/views/configurations/viewconfigurations.jsp" />
            </div>
        </form>

以下是AJAX调用错误处理程序中的Stringified消息:

{“readyState”:4,“responseText”:“错误报告

HTTP状态500 -

类型状态报告

< p> 消息

描述服务器遇到内部错误,无法完成此请求。

“,”status“:500 ,“statusText”:“内部服务器错误”}

我希望返回'ProductConfigurations'对象,但Ajax请求错误。

我的Jackson-mapper - 1.9已经上课了。

0 个答案:

没有答案