jquery实现Ajax请求的三种方式

jquery 对 ajax的请求进行了封装,可以使代码更简洁,也自动替我们解决了,浏览器问题。

jquery 提供了三种 ajax 请求的函数,分别为: $.ajax() ,  $.get()  ,  $.post() ,下面是一个 jquery 实现ajax 请求的实例:

效果 : 页面加载完成时,自动发起ajax请求,从后台获取数据,并显示在页面表格中:

页面代码:

<body>
<table align="center" cellpadding="20" width="300" cellspacing="0" border="1" bordercolor="#a0c6e5">
	<tbody id="tbBody"></tbody>
</table>
</body>

Ajax请求

<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-2.1.1.js"></script>
<script type="text/javascript">
	$(function(){
		$.ajax({
			url : "AjaxJson",	//请求url
			type : "POST",	//请求类型  post|get
		 // data : "key=value&key1=value2",	//后台用 request.getParameter("key");
			dataType : "json",  //返回数据的 类型 text|json|html--
			success : function(users){	//回调函数 和 后台返回的 数据
			//	var users = JSON.parse(data);
				var tBody = $("#tbBody");
				for(var i=0; i<users.length; i++){  //通过遍历,创建行数据
					var tr = $("<tr><td>"+users[i].id+"</td><td>"+users[i].name+"</td><td>"+users[i].school+"</td></tr>")
					tBody.append(tr);
				}
			}
		});
	});
	// get 方式 发送请求
	// $.get(url,data,callback,type); data为 发送的数据  {key:value}形式 , 
	//	callback成功时的回调函数 function(result){}  result 后台返回的数据  ,
	//type  返回的数据类型  默认为 text ,可以设为 json text 
	//post 方式 发送请求
	// $.post(url,data,callback,type);
	
</script>


后台 servlet 代码
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.setHeader("Content-Type", "text/html;charSet=utf-8");
		response.setCharacterEncoding("utf-8");
		PrintWriter out = response.getWriter();
		User user1 = new User(1,"liuyj1","henu1");
		User user2 = new User(2,"liuyj2","henu2");
		User user3 = new User(3,"liuyj3","henu3");
		List<User> users = new ArrayList<User>();
		users.add(user1);
		users.add(user2);
		users.add(user3);
		/* 使用 Gson 插件,将 java对象 转为 json 格式的字符串 导入 Gson 的jar包即可

		Gson gson = new Gson();
		String userStr= gson.toJson(users);*/
		
		//使用 FastJson 插件,将 java对象 转为 json 格式的字符串 导入 FastJson 的jar包即可
		String userStr = JSON.toJSONString(users);
		out.println(userStr);
		out.flush();
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

效果:当访问这个页面时,自动获取后台数据,加载在页面表格中


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值