JavaScript XMLHttpRequest的用处
如果想从网页提交参数到服务器,第一个想到的就是Http的Form标签。它将用户在客户端网页填写的数据通过HTTP Post,提交到服务端。这些提交的数据被放在HTTP消息的body里面,这样,用户提交的数据理论上是没有长度限制的。如果服务端用的是J2EE,HttpServletRequest可以非常轻松得取到所有参数,非常完美。
但是,有一些特殊的应用,如果服务端不是J2EE,没有HttpServletRequest,而是Java Socket实现,接受到的HTTP消息是最原始的字节流。这些字节流被一个简单的HTTP Message解析器解析。问题是,为了处理简单,这个解析器只解析了HTTP消息的头部,没有解析HTTP消息的body部分。这时,客户端需要提交一些长度有限的数据给服务端,如果还是用Form提交数据,显然通不过。很自然,数据只能存在HTTP消息的头部。这是Form做不到的,应该求助于其他的脚本工具,这里介绍JavaScript的XMLHttpRequest。
XMLHttpRequest可以在HTTP消息的头部增加扩展的meta header,也可以像Form一样,把数据提交到HTTP消息的body部分。下面这段代码是一个自动提交的例子。"http://localhost:8080/TestForm/HandleForm"是服务器端地址。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript">
function createReq() {
var req = false;
if (window.XMLHttpRequest) { //Mozilla
req = new XMLHttpRequest();
} else if (window.ActiveXObject) { //IE
try {
req = new ActiveXObject("Microsoft.XMLHTTP"); //IE6
} catch (e) {
try {
req = new ActiveXObject("MsXML2.XMLHTP");
} catch (e) {
alert(" Create a XMLHttpRequest object failed! ");
}
}
}
return req;
}
&nbs
相关文档:
function $id(s) {
return document.getElementById(s);
}
//判断小数
function IsFloat(s) {
if (!/^[+\-]?\d+(.\d+)?$/.test(s))
return false;
else
return ......
/*
限制输入字符的位数
str是用户输入字符串,len是要限制的位数
----------------------------
*/
function isSmall(str,len){
if (str.length<len){
return(true);
&nb ......
1.document.write("");
为
输出语句
2.JS
中的注释为
//
3.
传统的
HTML
文档顺序是
:document->html->(head,body)
4.
一个浏览器窗口中的
DOM
顺序是
:window->(navigator,screen,history,location,document)
5.
得到表单中元素的名称和值
:document.getElementById("
表 ......
几乎所有的富 Web 应用都基于一个或多个 Web UI 库或框架,这些 UI 库与框架极大地简化了开发进程,并带来一致,可靠,以及高度交互性的用户界面。本文介绍了 15 个非常强大的 JavaScript Web UI 库,非常适合各种各种规模的富 Web 应用的开发。
LivePipe
LivePipe UI 基于 Prototype Javascript 框架,包含了一整套经严 ......
这篇开始会分析流行的js库之写类方式。各种库的写类方式虽然千奇百怪,但仍然逃离不了本质---用构造函数和原型
来组装类。
6、Prototype.js的写类方式
//prototype.js中的代码
var Class = {
create: function() {
return function() {
this.initialize.apply(this, arguments);
}
}
}
//简化 ......