Ajax中的XMLHttp请求
Ajax中的XMLHttp请求
当Microsoft开始在Internet Explorer 5.0中引入对XML基本的支持时,也引入了一个称为MSXML的ActiveX库,此库中的一个对象很快便成为广为人知的——XMLHttp。
XMLHttp对象最初是为了让开发者能在应用程序中的任何地方都能初始化HTTP请求而创造出来的,这些请求倾向于返回XML,所以XMLHttp对象提供了一个非常简单的方法用于以XML文档的方式访问所需信息。由于从一开始它就是一个ActiveX控件,因此XMLHttp不但可用于网页,也可应用于任何基于Windows的应用程序;然而,显然它在互联网上的受欢迎程序,要大大超出在桌面程序方面。
为紧跟潮流,Mozilla也在它的浏览器Firefox中模仿了XMLHttp功能,但不久后,Safari(从版本1.2开始)和Opera(版本7.6)浏览器也相继模仿了Mozilla的功能实现。今天,这四大浏览器都已在某种程度上支持XMLHttp(Safari和Opera在功能实现上仍不完整,除了GET和POST,不支持其他类型的请求)。
创建一个XMLHttp对象
显然,使用一个XMLHttp对象的第一步,是要创建它,因为Microsoft对此的实现是ActiveX控件,所以你也必须在JavaScript中使用ActiveXObject的所有者类,并传递给它一个XMLHttp控件的签名:
var oXmlHttp = new ActiveXObject("Microsoft.XMLHttp");
上述代码创建了XMLHttp对象的第一个版本(其与IE 5.0一同发布),问题是,随着后续MSXML库的发布,也发布了好几个不同的新版本,每次发布都带来了更好的稳定性与更快的速度,所以,必须要确定你使用的是用户电脑上可用的最新版本。每个版本的签名如下:
Microsoft.XMLHttp
MSXML2.XMLHttp
MSXML2.XMLHttp.3.0
MSXML2.XMLHttp.4.0
MSXML2.XMLHttp.5.0
不幸的是,确定可用最佳版本唯一的方法,是依次尝试创建它们。因为其本身为一个ActiveX控件,任何创建对象上的失败,都会抛出一个错误,这意味着你必须在一个try…catch块中编写这些代码,如下:
 
相关文档:
首先要说的就是 ajax 是无法实现上传文件的,可以想一下ajax与后台通信都是通过传递字符串,怎么能传递文件呢?其实出于安全考虑js是不能操作文件的,所以就不要再说用ajax来实现文件的上传了,这是不可能的。
而本文实现的文件上传也是无页面刷新的,可以说是一种"类似AJAX"方法。
&n ......
Ajax调用远程服务器数据会出现拒绝访问的问题。这是因为基于安全的考虑,AJAX只能访问本域下的资源,而不能跨域访问。也就是说,domain1.com站点中的AJAX只能访问domain1.com站点下的资源,而不能跨域访问domain2.com站点中的资源,这就是AJAX跨域问题。
解决思路:页面在提交请求时 ......
function ScreenConvert()
{
var browser = new Browser1();
var objScreen = document.getElementById("ScreenOver");
if(!objScreen)
var objScreen = document.createElement("div");
var oS = objScreen.style;
objScreen.id = "ScreenOver";
oS.display = "bloc ......
四、DOM
1.DOM概述
XHR对象提供了跟服务器通讯的能力,而DOM提供了访问、动态更新页面的能力。
DOM是W3C推出的文档对象模型,是表示文档和访问、操作构成文档的各种元素的API,被定义为独立于语言的标准,在javascript和java以及其他语言中都有实现。
在DOM中,HTML文档的层次机构被表示为树形结构,树的节点表示文档中 ......
前台自定义通用分页jquery插件
(一)框架:用jquery+ajax+struts1实现 自动创建行和列
持久层用的是abatis.数据库用的是MySQL.
(二)sqlMap
shangjia.xml的配置如下
<resultMap class="java.util.LinkedHashMap" id="storeMap">
  ......