ajax 传多个参数对象到控制器

虎滴小猪猪 2016-12-20 02:29:02
ajax如何传多个参数对象到控制器,我百度了下很多方法,都不行。
	
@InitBinder("pagehelper")
public void initBinder1(WebDataBinder binder) {
binder.setFieldDefaultPrefix("pagehelper.");
}

@InitBinder("eventlog")
public void initBinder2(WebDataBinder binder) {
binder.setFieldDefaultPrefix("eventlog.");
}

// 查询
@ResponseBody
@RequestMapping("/queryevent")
public DataGrid queryEvent(DoorguardEventlog eventlog,
DoorPageHelper pagehelper) throws Exception {
DataGrid dg = new DataGrid();

dg.setTotal(eventlogMapper.queryTotal(eventlog));

pagehelper.setStart((pagehelper.getPage() - 1) * pagehelper.getRows());

List<DoorguardEventlog> list = eventlogMapper.queryList(eventlog,
pagehelper);

dg.setRows(list);
return dg;
}


//查询
function queryClick() {
var eventdescr = $('#desc').val();
var eventctrlip = $('#ctrlip').val();
var eventcardno = $('#cardno').val();

var page = 1;
var start = 0;
var rows = $('#tbqueryInfo').datagrid('getPager').data("pagination").options.pageSize;

var datainfo ={"doorguardeventlog。eventdescr":eventdescr,"doorguardeventlog。eventctrlip":eventctrlip,"doorguardeventlog。eventcardno":eventcardno,"doorpagehelper.page":page,"doorpagehelper.start":start,"doorpagehelper.rows":rows}

$.ajax({
type : 'post',
url : '${pageContext.request.contextPath }/doorguard/queryevent.action',
contentType : 'application/json;charset=utf-8',
//contentType : "application/x-www-form-urlencoded;charset=utf-8",
dataType : "json",
async : false,
traditional:true,
data : datainfo,
//data : JSON.stringify(_page),
success : function(data) {
$('#tbqueryInfo').datagrid('loadData', data);
}
});
}
...全文
688 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_35100747 2016-12-20
  • 打赏
  • 举报
回复
"eventdescr":eventdescr,"eventctrlip":eventctrlip, 你直接传这样的不就好了 为啥还点参数 直接传参数名 不行么 后面不是有eventlog对象接受收么
爱睡觉的阿狸 2016-12-20
  • 打赏
  • 举报
回复
我也正想说。的问题呢,
bcsflilong 2016-12-20
  • 打赏
  • 举报
回复
doorguardeventlog。eventdescr" 那个点 是怎么回事
  • 打赏
  • 举报
回复
@InitBinder("pagehelper") public void initBinder1(WebDataBinder binder) { binder.setFieldDefaultPrefix("pagehelper."); } @InitBinder("eventlog") public void initBinder2(WebDataBinder binder) { binder.setFieldDefaultPrefix("eventlog."); } 你这样配了,参数也要以pagehelper. 和eventlog. 开头区分才行
bree06 2016-12-20
  • 打赏
  • 举报
回复
最简单就是将后台的两个参数改为1个参数, 做一个datainfo, 然后在里面放DoorguardEventlog, DoorPageHelper两个对象
虎滴小猪猪 2016-12-20
  • 打赏
  • 举报
回复
错了应该是 var datainfo ={"eventlog。eventdescr":eventdescr,"eventlog。eventctrlip":eventctrlip,"eventlog。eventcardno":eventcardno,"pagehelper.page":page,"pagehelper.start":start,"pagehelper.rows":rows} 这个
虎滴小猪猪 2016-12-20
  • 打赏
  • 举报
回复
是 var datainfo ={"doorguardeventlog。eventdescr":eventdescr,"doorguardeventlog。eventctrlip":eventctrlip,"doorguardeventlog。eventcardno":eventcardno,"doorpagehelper.page":page,"doorpagehelper.start":start,"doorpagehelper.rows":rows} 我也不知道怎么回事,复制过去就是句号了。
  • 打赏
  • 举报
回复
doorguardeventlogeventdescr这是什么鬼,换成英文的符号先

58,444

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧