AJAX 随记
2024-09-01 08:29:28
供稿:网友
 
首先是一个创建AJAX的函数:
 代码如下:
var http_request=null; 
function create_ajax(){ 
    http_request = false; 
    //开始初始化XMLHttpRequest对象 
    if(window.XMLHttpRequest) { //Mozilla 浏览器 
        http_request = new XMLHttpRequest(); 
        if (http_request.overrideMimeType) {//设置MiME类别 
            http_request.overrideMimeType('text/xml'); 
        } 
    } 
    else if (window.ActiveXObject) { // IE浏览器 
        try { 
            http_request = new ActiveXObject("Msxml2.XMLHTTP"); 
        } catch (e) { 
            try { 
                http_request = new ActiveXObject("Microsoft.XMLHTTP"); 
            } catch (e) {} 
        } 
    } 
    if (!http_request) { // 异常,创建对象实例失败 
        window.alert("不能创建XMLHttpRequest对象实例."); 
        return false; 
    } 
} 
然后是调用这个函数来处理AJAX
 代码如下:
var obj1; 
function get_ajax(url,obj) {//初始化、指定处理函数、发送请求的函数 
obj1=obj; 
create_ajax(); 
http_request.onreadystatechange =processobj; // 确定发送请求的方式和URL以及是否同步执行下段代码 
http_request.open("POST", url, true); 
http_request.send(null); 
} 
function processobj(){ 
document.getElementById(obj1).innerHTML="Loading..."; 
if (http_request.readyState == 4) { // 判断对象状态 
if (http_request.status == 200) { // 信息已经成功返回,开始处理信息 
document.getElementById(obj1).innerHTML=http_request.responseText; 
} else { //页面不正常 
document.getElementById(obj1).innerHTML="loading error."; 
} 
} 
} 
以上就是AJAX的主体,再在你需要用AJAX的页面把这段Javascript包含进去,就可以方便的调用了: 
 代码如下:
<script type="text/javascript" src="ajax.js" src="ajax.js" ></script> 
Welcome. 
<div id="d1" onclick="get_ajax('ajax/get1.jsp','d1');">d1</div> 
<div id="d2" onclick="get_ajax('ajax/get2.jsp','d2');">d2</div> 
<div id="a">d2</div> 
'ajax/get1.jsp'和'ajax/get2.jsp',是两个后台获取数据的页面,这样,一点击d1,get1.jsp就会被动态的加载进来,非常方便,当然这只是一个最基本的功能的模型,还可以在上面加上很多功能,大家自由发挥吧。