使用esayUI,jpa,ajax模糊查询,他没报错,但查不到数据,请问哪里错了,谢谢

Controller层
//模糊查询
@RequestMapping("selectkpName")
@ResponseBody
public List selectprobypid(@RequestParam("kpName") String kpName){
System.out.println(kpName);
if(kpName==null || kpName.equals("") ){
kpName=null;
}else {
kpName="%"+kpName+"%";
}
System.out.println(kpName);
List list1 = auditKnowledgeBaseService.AuditKnowledgeBasefindkpName(kpName);
System.out.println(list1.size());
return list1;
}
service层
//根据名称模糊查询
public List AuditKnowledgeBasefindkpName(String kpName){
return auditKnowledgeBaseRep.findByKpNameLike(kpName);
}
dao层
//模糊查询
/*@Query("select t from AuditKnowledgeBase t where t.kpName like %?1%")*/
public List findByKpNameLike(String kpName);

    HTML页面

     //根据名称模糊查询

function uname() {
var i=$("#productid").val();
alert(i);//取得到值
$.ajax({
url:"selectkpName?kpName="+i,
dataType: "json",
type:"post",
//data:{kpName:i},
success:function(data){
alert(data);//取不到值
$("#dg1").datagrid("loadData",data);
}
})
}

知识要点资料名称发布时间状态操作

值传过去了吗?把sql打印出来看看!

你的请求方式是post,data里面的json格式错了,应该是{"kpName":i}。另外post请求的url不用加参数,url:"/selectkpName" 即可。

code like CONCAT('%','${code}','%') 占位符试一下,模糊查询用like,也可以用拼接