Ajax

    xiaoxiao2022-07-12  145

    ajax实现异步请求范例

    ajax.js

    //依据id查找结点,然后返回value function $(id){     return document.getElementById(id); } //返回节点的value function $F(id){     return $(id).value; }

     

    //获得ajax对象 function getXhr(){     var xhr = null;     if(window.XMLHttpRequest){         //不是ie浏览器         xhr=new XMLHttpRequest;     }else{         xhr=new ActiveXObject("Microsoft.XMLHttp")     }     return xhr; }

     

    regist.jsp

    <%@ page contentType="text/html; charset=UTF-8"     pageEncoding="UTF-8"%> <html> <head> <script type="text/javascript" src="js/ajax.js"></script> <script type="text/javascript">     function checkusername(){         //首先获得ajax对象         var xhr = getXhr();         //发送请求         xhr.open('get','checkusername.do?username='+$F('username'),true);         xhr.onreadystatechange = function(){             //处理服务器返回的数据             if(xhr.readyState == 4 && xhr.status == 200){                 //获取服务器返回的数据                 var txt = xhr.responseText;                 $("result_msg").innerHTML = txt;             }         };         xhr.send(null);     }      </script> </head> <body style="font-size:30px;">     <form action="" method="post">         用户名:<input id="username" name="username"  οnblur="checkusername();" />         <span id="result_msg"></span><br/>         密码:<input type="password" name="password"/><br/>         <input type="submit" value="注册" />          </form> </body> </html>

    public class ActionServlet extends HttpServlet {

     

     

    package web;

    import java.io.IOException; import java.io.PrintWriter;

    import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;

    import com.sun.corba.se.spi.activation.Repository;

    public class ActionServlet extends HttpServlet {

        @Override     protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {         response.setContentType("text/html;charset=UTF-8");         PrintWriter pw = response.getWriter();         System.out.println("service()");         //获得请求资源路径         String uri = request.getRequestURI();         System.out.println("uri:"+uri);         String action = uri.substring(uri.lastIndexOf("/"), uri.lastIndexOf("."));         System.out.println("action:"+action);         if ("/checkusername".equals(action)) {             String username = request.getParameter("username");             System.out.println("username:"+username);             if ("king".equals(username)) {                 pw.println("用户名已被使用");             }else {                 pw.println("可以使用");             }                      }     }      }  

    web.xml

    <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">   <servlet>       <servlet-name>checkusername</servlet-name>       <servlet-class>web.ActionServlet</servlet-class>   </servlet>   <servlet-mapping>       <servlet-name>checkusername</servlet-name>       <url-pattern>*.do</url-pattern>   </servlet-mapping> </web-app>

     

     

     

     

     

     

    最新回复(0)