1. 程式人生 > >ajax之前臺和後臺資料傳輸

ajax之前臺和後臺資料傳輸

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;
	}