欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

AJAX 随记

程序员文章站 2022-03-14 10:42:52
首先是一个创建ajax的函数:复制代码 代码如下:var http_request=null; function create_ajax(){   &n...
首先是一个创建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就会被动态的加载进来,非常方便,当然这只是一个最基本的功能的模型,还可以在上面加上很多功能,大家*发挥吧。