用JavaScript来创建XmlHttpRequest 类向服务器发送一个HTTP请求后,接下来要决定当收到服务器的响应后,需要做什么。这需要告诉HTTP请求对象用哪一个JavaScript函数处理这个响应。可以将对象的onreadystatechange属性设置为要使用的JavaScript的函数名,如下所示:Xmlhttp_request.onreadystatechange =FunctionName;   FunctionName是用JavaScript创建的函数名,注意不要写成FunctionName(),当然我们也可以直接将JavaScript代码创建在onreadystatechange之后。   我们调用request.open()-它用服务器打开套接字频道,使用一个HTTP动词(GET或POST)作为第一个参数并且以数据提供者的URL作为第二个参数。request.open()的最后一个参数被设置为true-它指示该请求的异步特性。注意,该请求还没有被提交。随着对request.send()的调用,开始提交-这可以为POST提供任何必要的有效载荷。在使用异步请求时,我们必须使用request.onreadystatechanged属性来分配请求的回调函数。(如果请求是同步的话,我们应该能够在调用request.send之后立即处理结果,但是我们也有可能阻断用户,直到该请求完成为止。)   再看看数据提供者的URL,url = "/chkUserAndCom",servlet如下: 以下是引用片段: 1/**//* 2 * Created on 2005-12-31 3 * 4 * TODO To change the template for this generated file go to 5 * Window - Preferences - Java - Code Style - Code Templates 6 */ 7package com.event; 8 9import javax.servlet.ServletException; 10import javax.servlet.http.HttpServletRequest; 11import javax.servlet.http.HttpServletResponse; 12 13import com.beans.EBaseInfo; 14 15/** *//** 16 * @author Alpha 2005-12-31 17 *  18 * <P>Ajax 演示---企业注册时检查企业用户名和企业名称</P> 19 * 20 * TODO To change the template for this generated type comment go to 21 * Window - Preferences - Java - Code Style - Code Templates 22 */ 23public class CheckUserAndComNm { 24 private String msgStr = ""; 25 protected void doGet(HttpServletRequest request,HttpServletResponse response)  26 throws ServletException  27 {  28 29  EComBaseInfo info=new EComBaseInfo(); 30  String oprate=request.getParameter("oprate")).trim();  31  String userName=request.getParameter("userName"); 32  String passWord=request.getParameter("password"); 33  String comName=request.getParameter("comName"); 34  35  try 36  { 37   if(oprate.equals("chkUser")) 38   { 39    response.setContentType("text/html;charset=GB2312"); 40    if(userName.length()<5||userName.length()>20) 41    { 42     msgStr = "对不起,用户名必须为字母、数字或下划线,长度为5-20个字符!"; 43    } 44    else 45    { 46     boolean bTmp=info.findUser(userName); //找查数据库中有无该用户名 47     if(bTmp)  48      msgStr ="对不起,此用户名已经存在,请更换用户名注册!"; 49     else 50      msgStr =""; 51    } 52    response.getWriter().write(msgStr); 53   } 54   else if(oprate.equals("chkCom")) 55   { 56    response.setContentType("text/html;charset=GB2312"); 57    if(comName.length()<6||comName.length()>100) 58    { 59     msgStr = "对不起,公司名称长度为6-100个字符(不包括字符内的空格)!"; 60    } 61    else 62    { 63     boolean bTmp=info.findCom(comName); //找查数据库中有无该企业名 64     if(bTmp)  65      msgStr ="对不起,此企业名称已经存在,请更换企业名称注册!"; 66     else 67      msgStr =""; 68    } 69    response.getWriter().write(msgStr); 70    71   } 72  } 73  catch(Exception ex) 74  { 75  } 76  finally 77  { 78   request.setAttribute("url",url); 79  } 80 } 81 82 protected void doPost(HttpServletRequest request,HttpServletResponse response)  83 throws ServletException  84 { 85  doGet(request,response); 86 } 87} 88 |  
               
    
  说明:本教程来源互联网或网友上传或出版商,仅为学习研究或媒体推广,wanshiok.com不保证资料的完整性。 
 
  2/2   首页 上一页 1 2  |