DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML詳解 >> 利用XMLHTTP無刷新添加數據之Post篇
利用XMLHTTP無刷新添加數據之Post篇
編輯:XML詳解     

我們傳統的提交的方法都是用Form來實現的.

Form標記中的Method屬性確定了表單元素的在發送到服務器時,

如何對HTTP請求信息進行打包.

Method 屬性可以使用的方法

Method屬性 發送表單元素的方式 讀取的Request集合

Get 標識在URL的最後 QueryString

Post 在HTTP請求的主體內(HTTP請求的自由區域) Form

這篇文章用XMLHTTP來實現Form的Method=Post.

ClIEntPost.htm

script language="JavaScript"

function AddDataPost(sUserId,sUserName)

{

/*

*- AddDataPost(sUserId,sUserName) -

* AddDataPost(sUserId,sUserName)

* 功能:通過XMLHTTP添加.相當於Form的Method=Post.

* 參數:sUserId,字符串,發送條件.

* 參數:sUserName,字符串,發送條件.

* 實例:AddDataPost(document.all.userid.value,document.all.username.value);

*- 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);

//清空輸入框.

document.all.userid.value="";

document.all.username.value="";

//服務器端處理返回的是經過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 服務器端處理.

% @Language="JavaScript" %

%

function OpenDB(sdbname)

{

/*

*- OpenDB(sdbname) -

* OpenDB(sdbname)

* 功能:打開庫sdbname,返回conn對象.

* 參數:sdbname,字符串,庫名稱.

* 實例:var conn = OpenDB("database.mdb");

*- 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");

//相當於Form的Method=Post.

//相當於Form的Method=Post.

//特殊字符:+,%,,=,?等的傳輸解決辦法.客戶端傳輸過來是經過escape編碼的.

//所以服用器端應該先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));

%

庫設計

data.mdb

表users.

字段

id 自動編號

userid 文本

username 文本

表:users :

id userid username

1 wanghr100 管理員

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