找了半天问题,原来是缺少 jackson的jar包。因为如果传入的参数是json 格式的字符串,是需要这个jar包来解析参数的。
前台:
var queryKey =$("input[name=queryKey]").val();
var data = JSON.stringify({"queryKey":queryKey});
$.ajax({
url:"http://localhost:9999/search", //请求的url地址
type:"POST", //请求方式
contentType: 'application/json; charset=UTF-8',
async:false,
dataType:'json', //请求是否异步,默认为异步,这也是ajax重要特性
data:data,
success:function(data){
alert(data);
},
error:function(){
alert("请求失败");
}
});
后台代码:
@RequestMapping(value = "/search", method ={RequestMethod.POST})
@ResponseBody
public Map search(@RequestBody Map parameter) throws Exception {
File indexDir = new File("E:\\javaReptile\\luceneIndex");
String queryKey = parameter.get("queryKey")+"";
List list = luceneSearch.indexSearch(indexDir, queryKey);
Map map = new HashMap();
map.put("row",list);
return map;
}