XMLHTTP的get和post dodo

//================================================================== //
用XMLHTTP来实现Form的Method=Get.
 //==================================================================
我们传统的提交数据的方法都是用<Form>来实现的. <Form>标记中的Method属性确定了表单元素的数据在发送到服务器时, 如何对HTTP请求信息进行打包.

Method 属性可以使用的方法 Method属性         发送表单元素的方式                              读取数据的Request集合 Get                        标识在URL的最后                                  QueryString            POST          在HTTP请求的主体内(HTTP请求的自由区域)  Form

这篇文章用XMLHTTP来实现Form的Method=Get.

ClientGet.htm

程序代码:

  1. <script language="JavaScript">  
  2.   
  3. function AddDataGet(sUserId,sUserName)   
  4.   
  5. {   
  6.   
  7. /*   
  8.   
  9.  *--------------- AddDataGet(sUserId,sUserName) -----------------   
  10.   
  11.  * AddDataGet(sUserId,sUserName)    
  12.   
  13.  * 功能:通过XMLHTTP添加数据.相当于Form的Method=Get.   
  14.   
  15.  * 参数:sUserId,字符串,发送条件.   
  16.   
  17.  * 参数:sUserName,字符串,发送条件.   
  18.   
  19.  * 实例:AddDataGet(document.all.userid.value,document.all.username.value);   
  20.   
  21.  * author:wanghr100(灰豆宝宝.net)   
  22.   
  23.  * update:2004-5-30 14:46   
  24.   
  25.  *--------------- AddDataGet(sUserId,sUserName) -----------------   
  26.   
  27.  */   
  28.   
  29.     var oBao = new ActiveXObject("Microsoft.XMLHTTP");   
  30.   
  31.     //特殊字符:+,%,&,=,?等的传输解决办法.用escape编码.   
  32.   
  33.     //Update:2004-6-1 12:22   
  34.   
  35.     //escape(sUserId),escape(sUserName);   
  36.   
  37.     oBao.open("POST","Server.asp?userid="+escape(sUserId)+"&username="+escape(sUserName),false);   
  38.   
  39.     oBao.send();   
  40.   
  41.     //清空输入框数据.   
  42.   
  43.     document.all.userid.value="";   
  44.   
  45.     document.all.username.value="";   
  46.   
  47.     //服务器端处理返回的是经过escape编码的字符串.   
  48.   
  49.     alert(unescape(oBao.responseText))   
  50.   
  51. }   
  52.   
  53. </script>  
  54.   
  55. <input type="button" onclick="AddDataGet(document.all.userid.value,document.all.username.value)" value="AddDataGet"><br>  
  56.   
  57. userid:<input type="text" name="userid"><br>  
  58.   
  59. username:<input type="text" name="username">  
  1. <STRONG><SPAN class=Title><STRONG>Server.asp  服务器端处理.</STRONG></SPAN></STRONG>  
  2.   
  3. <TABLE cellSpacing=0 cellPadding=0 width="90%" align=center border=0><TBODY><TR><TD>程序代码:</TD></TR></TBODY></TABLE>  
  1. <% @Language="JavaScript" %>  
  2.   
  3. <%   
  4.   
  5. function OpenDB(sdbname)   
  6.   
  7. {   
  8.   
  9. /*   
  10.   
  11.  *--------------- OpenDB(sdbname) -----------------   
  12.   
  13.  * OpenDB(sdbname)    
  14.   
  15.  * 功能:打开数据库sdbname,返回conn对象.   
  16.   
  17.  * 参数:sdbname,字符串,数据库名称.   
  18.   
  19.  * 实例:var conn = OpenDB("database.mdb");   
  20.   
  21.  * author:wanghr100(灰豆宝宝.net)   
  22.   
  23.  * update:2004-5-12 8:18   
  24.   
  25.  *--------------- OpenDB(sdbname) -----------------   
  26.   
  27.  */   
  28.   
  29.     var connstr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath(sdbname);   
  30.   
  31.     var conn = Server.CreateObject("ADODB.Connection");   
  32.   
  33.     conn.Open(connstr);   
  34.   
  35.     return conn;   
  36.   
  37. }   
  38.   
  39. var sResult = "";   
  40.   
  41. var oConn = OpenDB("data.mdb");   
  42.   
  43. //相当于Form的Method=Get.   
  44.   
  45. //相当于Form的Method=Get.   
  46.   
  47. //特殊字符:+,%,&,=,?等的传输解决办法.客户端传输过来是经过escape编码的.   
  48.   
  49. //所以服用器端应该先用unescape解码.   
  50.   
  51. //Update:2004-6-1 12:22   
  52.   
  53. //unescape(Request.QueryString("userid")).....   
  54.   
  55. var userid = unescape(Request.QueryString("userid"));   
  56.   
  57. var username = unescape(Request.QueryString("username"));   
  58.   
  59. sResult = "userid:"+userid+"\nusername:"+username+"\n 添加成功."   
  60.   
  61. var sql = "Insert into users(userid,username)Values('"+userid+"','"+username+"')";   
  62.   
  63. oConn.Execute(sql);   
  64.   
  65. Response.Write(escape(sResult));   
  66.   
  67. %>  
  1. <STRONG>数据库设计   
  2. </STRONG>data.mdb   
  3. 表users.   
  4. 字段   
  5. id              自动编号   
  6. userid          文本   
  7. username        文本   
  8.   
  9. 表:users 数据:    
  10. id      userid          username   
  11. 1       wanghr100       灰豆宝宝.net   
  12.   
  13. //==================================================================   
  14. //用XMLHTTP来实现Form的Method=Post.   
  15. //==================================================================   
  16. Method 属性可以使用的方法   
  17. Method属性      发送表单元素的方式                            读取数据的Request集合   
  18. Get             标识在URL的最后                                  QueryString   
  19. Post            在HTTP请求的主体内(HTTP请求的自由区域)  Form   
  20.   
  21.   
  22.   
  23.   
  24.   
  25. <STRONG><SPAN class=Title><STRONG>ClientPost.htm</STRONG></SPAN></STRONG>  
  26. <TABLE cellSpacing=0 cellPadding=0 width="90%" align=center border=0><TBODY><TR><TD>程序代码:</TD></TR></TBODY></TABLE>  
  1. <PRE class=html name="code"><script language="JavaScript">  
  2.   
  3. function AddDataPost(sUserId,sUserName)   
  4.   
  5. {   
  6.   
  7. /*   
  8.   
  9.  *--------------- AddDataPost(sUserId,sUserName) -----------------   
  10.   
  11.  * AddDataPost(sUserId,sUserName)    
  12.   
  13.  * 功能:通过XMLHTTP添加数据.相当于Form的Method=Post.   
  14.   
  15.  * 参数:sUserId,字符串,发送条件.   
  16.   
  17.  * 参数:sUserName,字符串,发送条件.   
  18.   
  19.  * 实例:AddDataPost(document.all.userid.value,document.all.username.value);   
  20.   
  21.  * author:wanghr100(灰豆宝宝.net)   
  22.   
  23.  * update:2004-5-30 14:46   
  24.   
  25.  *--------------- AddDataPost(sUserId,sUserName) -----------------   
  26.   
  27.  */   
  28.   
  29.     var oBao = new ActiveXObject("Microsoft.XMLHTTP");   
  30.   
  31.     //特殊字符:+,%,&,=,?等的传输解决办法.   
  32.   
  33.     //Update:2004-6-1 12:22   
  34.   
  35.     //escape(sUserId),escape(sUserName);   
  36.   
  37.     sUserId = escape(sUserId);   
  38.   
  39.     sUserName = escape(sUserName);   
  40.   
  41.     var userInfo = "userid="+sUserId+"&username="+sUserName;   
  42.   
  43.     oBao.open("POST","Server.asp",false);   
  44.   
  45.     oBao.setRequestHeader("Content-Type","application/x-www-form-urlencoded")   
  46.   
  47.     oBao.send(userInfo);   
  48.   
  49.     //清空输入框数据.   
  50.   
  51.     document.all.userid.value="";   
  52.   
  53.     document.all.username.value="";   
  54.   
  55.     //服务器端处理返回的是经过escape编码的字符串.   
  56.   
  57.     alert(unescape(oBao.responseText))   
  58.   
  59. }   
  60.   
  61. </script>  
  62.   
  63. <input type="button" onclick="AddDataPost(document.all.userid.value,document.all.username.value)" value="AddDataPost"><br>  
  64.   
  65. userid:<input type="text" name="userid"><br>  
  66.   
  67. username:<input type="text" name="username"></PRE>  
  68. <PRE class=html name="code"> </PRE>  
  69. <PRE class=html name="code"><STRONG><SPAN class=Title><STRONG>Server.asp  服务器端处理. </STRONG></SPAN>  
  70.   
  71. </STRONG><TABLE cellSpacing=0 cellPadding=0 width="90%" align=center border=0><TBODY><TR><TD>程序代码:</TD></TR></TBODY></TABLE></PRE>  
  72. <PRE class=html name="code"><PRE class=html name="code"><% @Language="JavaScript" %>  
  73.   
  74. <%   
  75.   
  76. function OpenDB(sdbname)   
  77.   
  78. {   
  79.   
  80. /*   
  81.   
  82.  *--------------- OpenDB(sdbname) -----------------   
  83.   
  84.  * OpenDB(sdbname)    
  85.   
  86.  * 功能:打开数据库sdbname,返回conn对象.   
  87.   
  88.  * 参数:sdbname,字符串,数据库名称.   
  89.   
  90.  * 实例:var conn = OpenDB("database.mdb");   
  91.   
  92.  * author:wanghr100(灰豆宝宝.net)   
  93.   
  94.  * update:2004-5-12 8:18   
  95.   
  96.  *--------------- OpenDB(sdbname) -----------------   
  97.   
  98.  */   
  99.   
  100.     var connstr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath(sdbname);   
  101.   
  102.     var conn = Server.CreateObject("ADODB.Connection");   
  103.   
  104.     conn.Open(connstr);   
  105.   
  106.     return conn;   
  107.   
  108. }   
  109.   
  110. var sResult = "";   
  111.   
  112. var oConn = OpenDB("data.mdb");   
  113.   
  114. //相当于Form的Method=Post.   
  115.   
  116. //相当于Form的Method=Post.   
  117.   
  118. //特殊字符:+,%,&,=,?等的传输解决办法.客户端传输过来是经过escape编码的.   
  119.   
  120. //所以服用器端应该先unescape解码.   
  121.   
  122. //Update:2004-6-1 12:22   
  123.   
  124. //unescape(Request.Form("userid")).....   
  125.   
  126. var userid = unescape(Request.Form("userid"));   
  127.   
  128. var username = unescape(Request.Form("username"));   
  129.   
  130. sResult = "userid:"+userid+"\nusername:"+username+"\n 添加成功."   
  131.   
  132. var sql = "Insert into users(userid,username)Values('"+userid+"','"+username+"')";   
  133.   
  134. oConn.Execute(sql);   
  135.   
  136. Response.Write(escape(sResult));   
  137.   
  138. %></PRE>  
  139. <PRE class=html name="code"> </PRE>  
  140. <PRE class=html name="code"><STRONG>数据库设计   
  141. </STRONG>data.mdb   
  142. <FONT color=#32cd32>表users.</FONT>  
  143. <FONT color=#ff0000>字段</FONT>  
  144. id              自动编号   
  145. userid          文本   
  146. username        文本   
  147.   
  148. <STRONG>表:users 数据: </STRONG>  
  149. id      userid          username   
  150. 1       wanghr100       灰豆宝宝.net </PRE>  
  151. </PRE>  
原文地址:https://www.cnblogs.com/zgqys1980/p/1277805.html