[WEB开发] 基于XMLHTTP的简单实例

2008-02-23 09:26:45来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

樊欢 Java爱好者。
Email :heydaymail@hotmail.com
Blog :http://heyday.blogone.net
2005-8-23

引言

大家都知道可以通过post或者get获得form表单的数据,那么我们如何实现不刷新的提交直接获得页面上的数据呢?这就要借助XMLhttp协议了。xmlhttp是xmldom技术的一部分。

下面的代码就是一个很简单的例子,我们利用xmlhttp技术实现简单的用户登陆。

开始

1.简单的登录页面

login.JSP

<script>
function toServer(){
var xml = "<root>"
"<name>" document.all('name').value "</name>"
"<pwd>" document.all('pwd').value "</pwd>"
"</root>";
//
var XMLSender = new ActiveXObject("Microsoft.XMLHTTP");
XMLSender.Open("POST",'do_login.jsp',false);
XMLSender.send((xml));
alert(XMLSender.responseText); //可处理后台返回的结果
}

</script>
姓名:<input type="text" id="name" /><br>
密码:<input type="text" id="pwd" /><br>
<input type="button" value="登录" onclick="toServer()">

2.后台的登录处理页面

do_login.jsp

<%
  //读取XMLHTTP流
java.io.BufferedReader br = request.getReader();
String str = "";
while (str != null) {
str = br.readLine();
process (str); //可通过任何语言实现解析XML,进行业务处理
}
//返回信息
javax.Servlet.ServletOutputStream sos = response.getOutputStream();
sos.print("login success");
sos.close();
%>

3.结果如下:

总结

与传统的“提交-回发-重绘”式的Web系统基本运行结构不同,我们可以通过通过XMLHTTP实现无刷新的客户端直接与服务器交互,极大的提高用户的感受度。

查考资料

XMLHTTP方法:

Open bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword

bstrMethod:数据传送方式,即GET或POST。

bstrUrl:服务网页的URL。

varAsync:是否同步执行。缺省为True,即同步执行,但只能在DOM中实施同步执行。

应用中一般将其置为False,即异步执行。

bstrUser:用户名,可省略。

bstrPassword:用户口令,可省略。

Send varBody

varBody:指令集。可以是XML格式数据,也可以是字符串,流,或者一个无符号整数数组。也可以省略,让指令通过Open方法的URL参数代入。

setRequestHeader bstrHeader, bstrValue

bstrHeader:HTTP 头(header)

bstrValue:HTTP 头(header)的值

如果Open方法定义为POST,可以定义表单方式上传:

xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:版本控制软件SubVersion 入门

下一篇:调用本地方法(Dll动态库)