1. 相应的jar包的导入. json-lib-2.2.3-jdk15.jar, ezmorph-1.0.6.jar等.
2. 加入jquery.js
3. jquery each()方法的使用api.
http://api.jquery.com/jQuery.each/
4. 服务端servlet程序
import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class JqueryAjaxServer extends HttpServlet { private static final long serialVersionUID = 1L; public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html;charset=utf-8"); String account = request.getParameter("account"); JSONObject json = new JSONObject(); JSONArray array = new JSONArray(); JSONObject member = null; for (int i = 0; i < 3; i++) { member = new JSONObject(); member.put("name", "xiaohua"+i); member.put("age", 20+i); array.add(member); } json.put("account", account); json.put("jsonArray", array); PrintWriter pw = response.getWriter(); pw.print(json.toString()); System.out.println("json array :"+array.toString()); System.out.println("json object :"+json.toString()); pw.close(); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { this.doGet(request, response); } }
5. jsp页面(jqueryAjax.jsp)
<%@ page language="java" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>jquery ajax</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <script src="jquery/jquery-1.3.1.js" type="text/javascript"></script> <script language="javascript"> $(function(){ $('.sumbit').click(function(){ if($('#account').val().length==0){ $('.hint').text("用户名不能位空").css({"background-color":"green"}); }else{ $.ajax({ url:'jqueryAjax', data:{account:$('#account').val()}, dataType:'json', //很重要!!!. 预期服务器返回的数据类型 error:function(){ alert("error occured!!!"); }, success:function(data){ $.each(data.jsonArray,function(index){ $.each(data.jsonArray[index],function(key,value){ alert(key+":"+value) }); }); $('body').append("<div>"+data.account+"</div>").css("color","red"); } }); } }); }); </script> </head> <body> <h3 align="center">jquery AjaX</h3> <hr> <label>请输入你的账户 :</label> <input id="account" name="account" type="text"> <input class="sumbit" type="button" value="检测"> <div class="hint"></div> </body> </html>
6. 配置文件web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet> <servlet-name>jqueryAjaxServer</servlet-name> <servlet-class>com.june.servlet.JqueryAjaxServer</servlet-class> </servlet> <servlet-mapping> <servlet-name>jqueryAjaxServer</servlet-name> <url-pattern>/jqueryAjax</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>