jQuery中的ajax用法案例
什么是 AJAX?
AJAX = 异步 JavaScript 和 XML(Asynchronous JavaScript and XML)。
简短地说,在不重载整个网页的情况下,AJAX 通过后台加载数据,并在网页上进行显示。
使用 AJAX 的应用程序案例:谷歌地图、腾讯微博、优酷视频、人人网等等。
关于 jQuery 与 AJAX
jQuery 提供多个与 AJAX 有关的方法。
通过 jQuery AJAX 方法,您能够使用 HTTP Get 和 HTTP Post 从远程服务器上请求文本、HTML、XML 或 JSON - 同时您能够把这些外部数据直接载入网页的被选元素中。
提示:如果没有 jQuery,AJAX 编程还是有些难度的。(详见JavaScript的ajax用法案例)
编写常规的 AJAX 代码并不容易,因为不同的浏览器对 AJAX 的实现并不相同。这意味着您必须编写额外的代码对浏览器进行测试。不过,jQuery 团队为我们解决了这个难题,我们只需要一行简单的代码,就可以实现 AJAX 功能。
在此我们仍将用户名的检测,作为案例讲解;
方法一:
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <html> 5 <head> 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 7 <title>Insert title here</title> 8 <script type="text/javascript" src="jquery-1.11.3.js"></script>//注意jQuery路径的拷贝!!! 9 <script type="text/javascript"> 10 $(function(){ 11 $("#check").click(function(){ 12 obj=$.ajax({url:"CheckUser?uname=" + $("#uname").val(),async:false}); 13 $("#info").html(obj.responseText); 14 }); 15 }); 16 </script> 17 </head> 18 <body> 19 <table> 20 <tr><td>用户名</td><td><input type="text" id="uname"></td></tr> 21 <tr><td><input type="button" value="检测用户" id="check"></td><td><div id="info"></div></td></tr> 22 </table> 23 </body> 24 </html>
方法二:
1 <script type="text/javascript" src="jquery-1.11.3.js"></script> 2 <script type="text/javascript"> 3 $(function(){ 4 $("#check").click(function(){ 5 $("#info").load("CheckUser?uname="+$("#uname").val());//用load方法。 6 // obj=$.ajax({url:"CheckUser?uname=" + $("#uname").val(),async:false}); 7 //$("#info").html(obj.responseText); 8 }); 9 }); 10 </script>
方法三:
1 <script type="text/javascript" src="jquery-1.11.3.js"></script> 2 <script type="text/javascript"> 3 $(function(){ 4 $("#check").click(function(){ 5 $.post("CheckUser",{uname:$("#uname").val()},function(data, Status){ 6 $("#info").html(data);//注意这里如果用append来代替,不能返回数据。 7 8 }); 9 10 //$("#info").load("CheckUser?uname="+$("#uname").val()); 11 // obj=$.ajax({url:"CheckUser?uname=" + $("#uname").val(),async:false}); 12 //$("#info").html(obj.responseText); 13 }); 14 }); 15 </script>
注意:在用第三种即:post方法时需要将servlet中的doget方法移到dopost中,或者在dopost中加doGet(request,response);