从Spring中的Ajax调用接收控制器中的参数

时间:2014-06-24 09:22:56

标签: java ajax spring java-ee spring-mvc

在我的spring项目中,我通过这样的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调用参数。

1 个答案:

答案 0 :(得分:1)

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

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