DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> AJAX入門 >> AJAX詳解 >> AJAX編寫用戶注冊實例及技術小結(2)
AJAX編寫用戶注冊實例及技術小結(2)
編輯:AJAX詳解     

用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

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved