利用XMLHTTP無刷新添加數(shù)據(jù)之Post篇_Xml教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:如何利用XMLHTTP無刷新添加數(shù)據(jù)之Get篇
      前兩篇主要寫了從獲取數(shù)據(jù).接下來,我們講講如何添加數(shù)據(jù). 我們傳統(tǒng)的提交數(shù)據(jù)的方法都是用Form來實(shí)現(xiàn)的. Form標(biāo)記中的Method屬性確定了表單元素的數(shù)據(jù)在發(fā)送到服務(wù)器時(shí), 如何對(duì)HTTP請(qǐng)求信息進(jìn)行打包. Method 屬性可以使用的方法 Method屬性 發(fā)送表單元素的方

      利用XMLHTTP無刷新添加數(shù)據(jù)之Post篇.

      前兩篇主要寫了從獲取數(shù)據(jù).接下來,我們講講如何添加數(shù)據(jù).
      我們傳統(tǒng)的提交數(shù)據(jù)的方法都是用<Form>來實(shí)現(xiàn)的.
      <Form>標(biāo)記中的Method屬性確定了表單元素的數(shù)據(jù)在發(fā)送到服務(wù)器時(shí),
      如何對(duì)HTTP請(qǐng)求信息進(jìn)行打包.

      Method 屬性可以使用的方法
      Method屬性 發(fā)送表單元素的方式 讀取數(shù)據(jù)的Request集合
      Get 標(biāo)識(shí)在URL的最后 QueryString
      Post 在HTTP請(qǐng)求的主體內(nèi)(HTTP請(qǐng)求的自由區(qū)域) Form


      這篇文章用XMLHTTP來實(shí)現(xiàn)Form的Method=Post.


      ClientPost.htm

      <script language="JavaScript">
      function AddDataPost(sUserId,sUserName)
      {
      /*
      *--------------- AddDataPost(sUserId,sUserName) -----------------
      * AddDataPost(sUserId,sUserName)
      * 功能:通過XMLHTTP添加數(shù)據(jù).相當(dāng)于Form的Method=Post.
      * 參數(shù):sUserId,字符串,發(fā)送條件.
      * 參數(shù):sUserName,字符串,發(fā)送條件.
      * 實(shí)例:AddDataPost(document.all.userid.value,document.all.username.value);
      * author:wanghr100(灰豆寶寶.net)
      * update:2004-5-30 14:46
      *--------------- AddDataPost(sUserId,sUserName) -----------------
      */
      var oBao = new ActiveXObject("Microsoft.XMLHTTP");
      //特殊字符:+,%,&,=,?等的傳輸解決辦法.
      //Update:2004-6-1 12:22
      //escape(sUserId),escape(sUserName);
      sUserId = escape(sUserId);
      sUserName = escape(sUserName);
      var userInfo = "userid="+sUserId+"&username="+sUserName;
      oBao.open("POST","Server.asp",false);
      oBao.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
      oBao.send(userInfo);
      //清空輸入框數(shù)據(jù).
      document.all.userid.value="";
      document.all.username.value="";
      //服務(wù)器端處理返回的是經(jīng)過escape編碼的字符串.
      alert(unescape(oBao.responseText))
      }
      </script>
      <input type="button" onclick="AddDataPost(document.all.userid.value,document.all.username.value)" value="AddDataPost"><br>
      userid:<input type="text" name="userid"><br>
      username:<input type="text" name="username">

      Server.asp 服務(wù)器端處理.

      <% @Language="JavaScript" %>
      <%
      function OpenDB(sdbname)
      {
      /*
      *--------------- OpenDB(sdbname) -----------------
      * OpenDB(sdbname)
      * 功能:打開數(shù)據(jù)庫sdbname,返回conn對(duì)象.
      * 參數(shù):sdbname,字符串,數(shù)據(jù)庫名稱.
      * 實(shí)例:var conn = OpenDB("database.mdb");
      * author:wanghr100(灰豆寶寶.net)
      * update:2004-5-12 8:18
      *--------------- OpenDB(sdbname) -----------------
      */
      var connstr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath(sdbname);
      var conn = Server.CreateObject("ADODB.Connection");
      conn.Open(connstr);
      return conn;
      }
      var sResult = "";
      var oConn = OpenDB("data.mdb");
      //相當(dāng)于Form的Method=Post.
      //相當(dāng)于Form的Method=Post.
      //特殊字符:+,%,&,=,?等的傳輸解決辦法.客戶端傳輸過來是經(jīng)過escape編碼的.
      //所以服用器端應(yīng)該先unescape解碼.
      //Update:2004-6-1 12:22
      //unescape(Request.Form("userid")).....
      var userid = unescape(Request.Form("userid"));
      var username = unescape(Request.Form("username"));
      sResult = "userid:"+userid+"\nusername:"+username+"\n 添加成功."
      var sql = "Insert into users(userid,username)Values('"+userid+"','"+username+"')";
      oConn.Execute(sql);
      Response.Write(escape(sResult));
      %>


      數(shù)據(jù)庫設(shè)計(jì)
      data.mdb
      表users.
      字段
      id 自動(dòng)編號(hào)
      userid 文本
      username 文本

      表:users 數(shù)據(jù):
      id userid username
      1 wanghr100 灰豆寶寶.net



      Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=16375

       

      分享:XMLHTTP組件相關(guān)技術(shù)應(yīng)用資料
      一、數(shù)據(jù)庫遠(yuǎn)程管理技術(shù) 基于互聯(lián)網(wǎng)的廣域網(wǎng)現(xiàn)代應(yīng)用中的一個(gè)重要環(huán)節(jié)是數(shù)據(jù)庫遠(yuǎn)程監(jiān)控。首先簡單回顧一下互聯(lián)網(wǎng)上的數(shù)據(jù)庫遠(yuǎn)程管理技術(shù)的發(fā)展過程和方式: 早期通過編寫CGI-BIN程序模塊進(jìn)行數(shù)據(jù)庫遠(yuǎn)程管理。但CGI-BIN的運(yùn)行速度慢,維護(hù)很不方便,現(xiàn)在已經(jīng)基

      來源:模板無憂//所屬分類:Xml教程/更新時(shí)間:2010-06-01
      相關(guān)Xml教程