zoukankan      html  css  js  c++  java
  • 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>  
  • 相关阅读:
    dimensionality reduction动机---data compression(使算法提速)
    K-means:如何选择K(cluster的数目)
    python2和python3共存方法
    docker postgresql 数据库
    转:MySQL到底能支持多大的数据量?
    数据库jdbc链接:mysql, oracle, postgresql
    python获取参数列表
    转载:ubuntu系统启动顺序,常见系统服务说明
    使用postman开发testcases记录贴
    python gevent使用例子
  • 原文地址:https://www.cnblogs.com/zgqys1980/p/1277805.html
Copyright © 2011-2022 走看看