1.ajax的用法和参数介绍
$.ajax({
url:'xxx', //访问后台的路径
type:'xxx', //访问后台的方式 ,一般是post 、get等
dataType:'json', //数据类型一般都是json格式
traditional:true, //这个参数是传递数组参数时使用,要是没有这个参数后台用数组的方式获取不到值
data:{
},
success:function(data){
},
error:function(e){
}
})
2.jfinal后台获取
2.1后台获取字符串参数
Controll层获取参数
String id = getPara("id"); //获取参数名为id字符串
String[] ids = getPara("Ids").split(","); //获取参数名为ids的字符串数组
Service层获取参数
HttpServletRequest request = getHttpServletRequest();
String id = request.getParameter("id"); //获取参数名为id字符串
String[] ids = request.getParameterValues("ids "); //获取参数名为id字符串数组
2.2对字符串数组参数的处理
(1)前端的处理jQuery—ajax直接将参数装换为字符串(批量删除用的比较多)
var rows = $('#grid').datagrid('getSelections');
var ids = [];
for(var i = 0; i < rows.length;i++) {
ids.push(rows[i]['id']);
}
$.ajax({
url:'xxx',
type:'xxx',
dataType:'json',
data:{
ids : ids.toString()
},
success:function(data){
},
error:function(e){
}
})
HttpServletRequest request = getHttpServletRequest();
String ids = request.getParameter("ids");
String sql = "delete from xx表 where id in("+tosql(ids)+")";
(2)后端对字符串数组的操作(批量新增编辑的时候用到的比较多)
var rows = $('#grid').datagrid('getSelections');
var ids = [];
for(var i = 0; i < rows.length;i++) {
ids.push(rows[i]['id']);
}
$.ajax({
url:'xxx',
type:'xxx',
dataType:'json',
traditional:true,
data:{
ids : ids
},
success:function(data){
},
error:function(e){
}
})
HttpServletRequest request = getHttpServletRequest();
String[] ids = request.getParameterValues("ids");
List<String> idList = new ArrayList<>();
for(String id:ids ){
idList.add(id);
}
//idList.get(index) 获取到idList中的对应项