如何将参数从ajax传递给spring mvc控制器

时间:2015-10-06 09:11:42

标签: javascript jquery ajax spring-mvc

您好我正在尝试将参数添加到ajax请求并将其发送回控制器。

请帮我解决这个问题。我不明白为什么在控制器中我得到startDate / stopDate参数的空值。

谢谢

function getFilterParams() {
    return {
        "type" : "GET",
        "url" : "results",
        "async" : true,
        "data" : {
            "startDate" : $('#startDatePicker').find("input").val(),
            "stopDate" : $('#stopDatePicker').find("input").val(),
            success : function() {
                alert("success ");
            },
            error : function() {
                alert("error");
            }
        }
    };
}


@RequestMapping(value = "/results", method = RequestMethod.GET)
    public @ResponseBody DatatablesResponse<Results> findAllForDataTables(HttpServletRequest request) {

        System.out.println(request.getParameter("startDate")); // This shows nothing

        DatatablesCriterias dataTableCriterias = DatatablesCriterias.getFromRequest(request);
        // Add the extra parameters into the DatatablesCriterias object to facilitate filtering
        for (ColumnDef columnDef : dataTableCriterias.getColumnDefs()) {
            switch (columnDef.getName()) {
                case "startDate":
                    columnDef.setSearch(request.getParameter("startDate"));
                    break;
                case "stopDate":
                    columnDef.setSearch(request.getParameter("stopDate"));
                    break;
            }
        }
        DataSet<Results> results = this.resultsServiceimpl.findResultsWithDatatablesCriterias(dataTableCriterias);
        return DatatablesResponse.build(results, dataTableCriterias);
    }

3 个答案:

答案 0 :(得分:0)

请你检查一下 -

答案 1 :(得分:0)

请尝试以下代码。

>=

答案 2 :(得分:0)

请尝试以下代码。

@RequestMapping(value = "/results", method = RequestMethod.GET)
public @ResponseBody DatatablesResponse<Results> findAllForDataTables(
              @RequestBody String startDate, @RequestBody String stopDate) {

}