在我的春季项目中,我通过Ajax调用发送请求,如下所示:

function doAjaxPost(currentPage) {

    var appName = document.searchForm.txtZipFile.value;
    var e = document.getElementById("selectStatus");
    var appStatus = e.options[e.selectedIndex].text;


    $.ajax({
     type : "GET",
     url : "http://localhost:8080/ preListOnSearch.do",
      data : "currentPage=" + currentPage + "&appName=" + appName + "&appStatus="
       + appStatus,
       cache: false,

     success : function(response) {
      alert(response);
     },

     error : function(e) {
      alert('Error: ' + e);
     }

    });
   }


在我的控制器中,我编写了如下方法:

@RequestMapping(value = "/preListOnSearch", method=RequestMethod.GET)
public String preTestDataolx(@PathVariable("siteId") String siteId,                  @PathVariable(value = "currentPage") String currentPage,
         @RequestParam(value = "appStatus") String appStatus) {
    System.out.println(appStatus);
    return "/preTestData";
}


但这给我错误。当我从方法定义中删除RequestParams时,它工作正常。所以我只想知道如何访问控制器中的ajax调用参数。

最佳答案

尝试将数据设置为JS对象:

$.ajax({
   type : "GET",
   url : "http://localhost:8080/ preListOnSearch.do",
   data : {currentPage: currentPage, appName: appName, appStatus: appStatus},
   cache: false,

09-27 00:19