Spring中ajax数据传输
由于项目需要用ajax提交数据,而不是form提交数据。因此我需要学习ajax,这也是我在开发小组做的最后一个东西,尽管由于暑假要去东软实训,这个ajax提交也没有做完,但对于数据的在前台和后台的传递是解决了。
如何把数据通过ajax从前台传到后台,在网上查询的方法都是通过“data:”把数据传到后台,但是后台“String endTime=request.getParameter("eTime");”时间的值是空,并不能得到值,最后只有通过“url:”传值到后台,如: url : "${base}/management/loginMonitor/loginCount/getJson.htm?eTime="+eTime+"& sTime="+sTime。开始时间和结束时间就能通过request得到。
那么如何把数据通过ajax从后台传递到前台,首先数据放在map里,如:map.put("listPeople", listPeople);map.put("listTime", listTime);在controller里的方法要加上“@ResponseBody”,前台就在ajax里的success函数里获得返回的值,如:
success: function (data) { alert(data); $("#listPeople",navTab.getCurrentPanel()).attr("value",data.listPeople); $("#listTime",navTab.getCurrentPanel()).attr("value",data.listTime); }
虽然很简单,但是如何传值确实花了自己很多时间,主要对于规则还是很不清楚,当然自己还是在努力看《ajax安全手册》这本书。
前台代码:
$(".sub").click(function(){ var eTime=$("#endTime").attr("value"); var sTime=$("#startTime").attr("value"); $.ajax({ type: "post", contentType:"application/json", async : false, url : "${base}/management/loginMonitor/loginCount/getJson.htm?eTime="+eTime+"& sTime="+sTime, success: function (data) { alert(data); $("#listPeople",navTab.getCurrentPanel()).attr("value",data.listPeople); $("#listTime",navTab.getCurrentPanel()).attr("value",data.listTime); } }); });
后台代码:
@ResponseBody @RequestMapping("/getJson") public Map<String, Object> getJson(HttpServletRequest request) throws Exception { //显示相应的界面 Map<String, Object> map=loginCountService.getRefreshMap(request); /*Set<Map.Entry<String, Object>> allSet=map.entrySet(); Iterator<Map.Entry<String, Object>> iter=allSet.iterator(); while(iter.hasNext()){ Map.Entry<String, Object> me=iter.next(); System.out.println("test"+me.getKey()+ " "+me.getValue()); }*/ return map; }
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-12-25 06:24:21