jQuery之ajax函数的一个小例子

来源:互联网 发布:淘宝买的京东e卡假的 编辑:程序博客网 时间:2024/06/01 12:07

创建一个web项目,要有maven支持

这里我们就最简单化,没有service和dao层,只有一个controller层


pom.mxl

架包支持分别是  springmvc和json-lib

[html] view plain copy
  1.     
  2.    <!-- 加载springmvc架包 -->  
  3.    <dependency>  
  4.   <groupId>org.springframework</groupId>  
  5.   <artifactId>spring-webmvc</artifactId>  
  6.   <version>4.3.8.RELEASE</version>  
  7. </dependency>  
  8.      
  9.    <!-- 加载json架包 -->  
  10.    <dependency>  
  11.   <groupId>net.sf.json-lib</groupId>  
  12.   <artifactId>json-lib</artifactId>  
  13.   <version>2.4</version>  
  14.   <classifier>jdk15</classifier>  
  15. </dependency>  


web.xml

web.xml只配置一个核心的过滤器,其它的不要

[html] view plain copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
  5.       
  6.     <servlet>  
  7.         <servlet-name>springmvc</servlet-name>  
  8.         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
  9.     </servlet>  
  10.       
  11.     <servlet-mapping>  
  12.         <servlet-name>springmvc</servlet-name>  
  13.         <url-pattern>*.do</url-pattern>  
  14.     </servlet-mapping>  
  15.       
  16.     <welcome-file-list>  
  17.         <welcome-file>index.jsp</welcome-file>  
  18.     </welcome-file-list>  
  19.       
  20.     <login-config>  
  21.         <auth-method>BASIC</auth-method>  
  22.     </login-config>  
  23. </web-app>  


ajax.xml

jQuery-2.2.4.js下载地址

[html] view plain copy
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  2. <html>  
  3.   <head>  
  4.     <title>domevent.html</title>  
  5.       
  6.     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  
  7.     <meta http-equiv="description" content="this is my page">  
  8.     <meta http-equiv="content-type" content="text/html; charset=UTF-8">  
  9.       
  10.     <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->  
  11.       
  12.       
  13.     <script type="text/javascript" src="jquery-2.2.4.js"></script>  
  14.     <script type="text/javascript">  
  15.           
  16.         $(function(){  
  17.             $("#query").click(function(){  
  18.                 //var ename=$("#ename").val();  
  19.                 //alert($("#myForm").serialize());  
  20.                 $.ajax({  
  21.                     url:"../json.do",   //  表示请求的路径  
  22.                     dataType:'json',    // 表示响应的数据类型 json的方式传参  
  23.                     //data:{ename:ename},   //  ajax的传参  
  24.                     /*  
  25.                         $("#myForm").serialize()会把 form表单里面所有带有name属性的input  
  26.                         转换为  name=value&name=value&name=value  
  27.                         例:eno=1234&ename=JAMES&sal=5000  
  28.                     */  
  29.                     data:$("#myForm").serialize(),  
  30.                     type:"GET",         // 请求的试  
  31.                     /*  
  32.                     (默认: true) 默认设置下,所有请求均为异步请求。  
  33.                     如果需要发送同步请求,请将此选项设置为 false。  
  34.                     注意,同步请求将锁住浏览器,一次只能执行一个线程,  
  35.                     用户其它操作必须等待请求完成才可以执行。  
  36.                     */  
  37.                     async:false,  
  38.                     success:function(json){  
  39.                         $("tr[mark=1]").remove();  
  40.                         //参数就是返回到json  
  41.                         $("#myTable").append("<tr mark=1><td>"+json.eno+"</td><td>"+json.ename+"</td><td>"+json.sal+"</td></tr>");  
  42.                     },  
  43.                     /*异常的处理*/  
  44.                     error:function(XMLHttpRequest, textStatus, errorThrown){  
  45.                         alert("调用服务器失败--"+XMLHttpRequest.status+"--"+errorThrown);  
  46.                     }  
  47.                 });  
  48.             });  
  49.               
  50.         })  
  51.     </script>  
  52.   </head>  
  53.     
  54.   <body>  
  55.         <table id="myTable" border="1" style="border:1px solid black;width:400px">  
  56.             <tr>  
  57.                 <th>编号</th>  
  58.                 <th>姓名</th>  
  59.                 <th>薪水</th>  
  60.             </tr>  
  61.         </table>  
  62.           
  63.         <form id="myForm">  
  64.             <input  name="eno" type="text" value="1234" /><br/>  
  65.             <input id="ename"  name="ename" type="text" value="JAMES" /><br/>  
  66.             <input  name="sal" type="text" value="5000" /><br/>  
  67.         </form>  
  68.         <input id="query" type="button" value="查询" />  
  69.           
  70.           
  71.   </body>  
  72. </html>  



Action类

[java] view plain copy
  1. package cn.et.jquery.controller;  
  2.   
  3. import java.io.IOException;  
  4. import java.io.OutputStream;  
  5. import java.io.UnsupportedEncodingException;  
  6.   
  7.   
  8. import net.sf.json.JSONObject;  
  9.   
  10. import org.springframework.stereotype.Controller;  
  11. import org.springframework.web.bind.annotation.RequestMapping;  
  12.   
  13. @Controller  
  14. public class JsonAction {  
  15.   
  16.     @RequestMapping("json")  
  17.     public void action(String eno,String ename,String sal,OutputStream os) throws UnsupportedEncodingException, IOException{  
  18.         Emp emp = new Emp();  
  19.         emp.setEno("1234");  
  20.         emp.setEname(ename);  
  21.         emp.setSal("6000");  
  22.         os.write(JSONObject.fromObject(emp).toString().getBytes("UTF-8"));  
  23.     }  
  24. }  


Emp实体类

[java] view plain copy
  1. package cn.et.jquery.controller;  
  2.   
  3.   
  4. /** 
  5.  * Emp entity. @author MyEclipse Persistence Tools 
  6.  */  
  7.   
  8. public class Emp implements java.io.Serializable {  
  9.   
  10.   
  11.     private String eno;  
  12.     private String ename;  
  13.     private String sal;  
  14.       
  15.       
  16.     public String getEno() {  
  17.         return eno;  
  18.     }  
  19.     public void setEno(String eno) {  
  20.         this.eno = eno;  
  21.     }  
  22.     public String getEname() {  
  23.         return ename;  
  24.     }  
  25.     public void setEname(String ename) {  
  26.         this.ename = ename;  
  27.     }  
  28.     public String getSal() {  
  29.         return sal;  
  30.     }  
  31.     public void setSal(String sal) {  
  32.         this.sal = sal;  
  33.     }  
  34.     @Override  
  35.     public String toString() {  
  36.         return "Emp [ename=" + ename + ", eno=" + eno + ", sal=" + sal + "]";  
  37.     }  
  38.       
  39. }  

架包支持
web.xml只配置一个核心的过滤器,其它的不要
原创粉丝点击