利用XMLHTTP无刷新添加数据之Post篇.

原创 2004年06月01日 16:07:00

利用XMLHTTP无刷新添加数据之Post篇.

前两篇主要写了从获取数据.接下来,我们讲讲如何添加数据.
我们传统的提交数据的方法都是用<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);
 * 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);
    //清空输入框数据.
    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");
 * 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");
//相当于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       灰豆宝宝.net

ASP模拟POST提交,然后XMLHTTP获取数据总是乱码,请大家帮忙,感谢!

目前在建的一个项目要求使用外部的一个网站达到切词的目的,由于外部网站的API接口要求必须是POST提交数据,因此只能模拟POST提交,然后再去读取提交后的数据,我用以下的代码,获取回来的中文总是乱码,...
  • lishimin1012
  • lishimin1012
  • 2017年03月06日 22:18
  • 550

在https的链接中vb使用post提交xml数据

由于工作需要,需要vb提交xml数据到服务器上,所以,需要找到一个好的方法。   之前有代码使用了MSXML2.XMLHTTP对象进行xml数据取得,而且链接是https形式的,于是就参照代码提...
  • cncco
  • cncco
  • 2016年01月04日 01:35
  • 3061

原生js使用xmlhttpRequest实现ajax请求

XMLHttpRequest是Ajax的核心,通过调用XMLHttpRequest对象的属性和方法可以实现在客户端和浏览器之间进行数据的异步传输,从而实现页面的无刷新效果。   XMLHt...
  • maxiaokun55
  • maxiaokun55
  • 2014年10月02日 01:45
  • 4361

PHP与Ajax的交互更新页面

本次主要学习ajax的概念以及怎么与PHP之间进行交互操作,效果类似在百度搜索时即时提示效果。 1.什么是Ajax? 国内翻译常为“阿贾克斯”和阿贾克斯足球队同音, AJAX 是一种用于创建快...
  • manymore13
  • manymore13
  • 2013年08月21日 21:56
  • 23150

ajax,jquery,$.post/$.get异步刷新div,局部刷新页面

ajax,jquery,$.post/$.get异步刷新div,局部刷新页面 2013-08-14 14:50890326yaoyao | 分类:Html/Css | 浏览1185次 ...
  • legend_x
  • legend_x
  • 2014年07月02日 20:59
  • 2476

使用get,post,httpclient三种方式向服务器提交文本数据

/** * HTTP请求 * @author kesenhoo * */ public class HttpRequest { public static boolean sendXML(...
  • u011057161
  • u011057161
  • 2014年02月11日 14:29
  • 1165

VB 发送文件(Http Post),带其他参数

除了发送文件主体外,还能带其他的参数。
  • zhouyingge1104
  • zhouyingge1104
  • 2014年06月03日 16:19
  • 6941

通过POST方式传递数据给服务器

1.新建动态web工程(ServerPOST)2.新建servlet。设置如下: 3.ServerPOST.javapackage com.example.servletPOST;import ja...
  • lxj1137800599
  • lxj1137800599
  • 2016年04月07日 10:43
  • 1334

PHP:POST接口,插入POST数据到mysql数据库

一、接口代码 1.1 创建数据库的SQL语句 DROP TABLE IF EXISTS `test`.`domain_statistics_result`; CREATE TABLE `test`...
  • kanguolaikanguolaik
  • kanguolaikanguolaik
  • 2016年01月12日 19:08
  • 1192

VB调用WebService(直接Post方式)并解析返回的XML

Function TodoTaskBySOAP(postURL As String,host As String, n As Integer,FilterItem() As String,OwnerS...
  • kangkanglou
  • kangkanglou
  • 2014年09月01日 15:30
  • 6024
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:利用XMLHTTP无刷新添加数据之Post篇.
举报原因:
原因补充:

(最多只允许输入30个字)