77家的会客2010

AJAX,动态网页的静态方法
Weather:闷热,生病

这四个字母在这里Asynchronous JavaScript and XML的缩写,通俗地描述这项技术就是:用 JavaScript 向服务器获取数据,然后更新网页的局部,而不是刷新整个网页。

为了让程序浏览器无关,你可以这样创建xmlhttp对象:
function getXMLHttpRequest() {
    var xmlhttp;
 //for ie
 try
 {
  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.4.0");
 }
 catch (e)
 {
  try {
   xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
   try {
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
   } catch (e) {
    xmlhttp = false;
   }
  }
 }
 //for firefox
    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
        xmlhttp = new XMLHttpRequest();
    }
    return xmlhttp;
}

 XMLHttp.open(sMethod, sUrl, bAsync, sUser, sPassword);

 作用:初始化一个 XMLHttp 对象

 sMethod,为提交方法,可取 GET, POST, PUT, 或 PROPFIND

 sUrl,为提交地址。

 bAsync为同步方式,一般取 false;

 剩下的 sUser, sPassword 一般不用。

 XMLHttp.send(sBody);

 作用:发送一个 http 请求。

 sBody ,附带消息内容。

另外还有一个只读属性。 responseText 用来获得响应的文本。

至于创建 XMLHttp 对象,要分情况来对待。

IE 用 var oXML = new ActiveXObject("Microsoft.XMLHTTP"); 

FireFox 则要使用 var oXML = new XMLHttpRequest();  

下面是一个简单的使用例子

function foo() {

    var oXML = new ActiveXObject("Microsoft.XMLHTTP");

    oXML.open("GET", "YourPage.jsp?BUTTON=BTN&MSG=OK", false);

    oXML.send();

    document.write(oXML.responseText)

    oXML = null;

}

历史上的今天: [2008/07/14]凉爽的金石发现王国

[AJAX,动态网页的静态方法]的回复

秦歌 于 2005-07-21 14:03:02 发表 | IP:218.106.169.*

不错,不错,这个对于页面快速显示很有好处。同时也减轻服务器的负载。

柠檬园主 于 2005-07-21 16:04:54 发表 | IP:210.83.202.*

麻烦的是,如果要采用这种方法,那网站的程序代码又要重写了,工作量也不小啊~~

Post a Comment~