ajax学习笔记

1. ajax_func.js的代码如下 :

false;
//定义可复用的http请求发送函数,初始化、指定处理函数、发送请求的函数
function send_request(method, url, content, responseType, callback) {
    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;
    }

    if(responseType.toLowerCase() == "text" || responseType.toLowerCase() == "xml") {
        http_request.onreadystatechange = callback;
    }  else {
        window.alert("响应类别参数错误.");
        return false;
    }

    //确定发送请求的方式和URL以及是否一步执行下段代码
    if(method.toLowerCase() == "get") {
        http_request.open(method, url, true);
    } else if(method.toLowerCase() == "post") {
        http_request.open(method, url, true);
        http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    } else {
        window.alert("http请求类别参数错误.");
        return false;
    }

    http_request.send(content);
}

2. 回调函数举例
1)处理返回文本格式信息的函数举例(调用send_request方法时responseType为text)

{
    if(http_request.readyState == 4) {
        if(http_request.status == 200) {
            //信息已经成功返回,开始处理信息
            alert("Text文档相应.");
        } else {
            alert("您所请求的页面有异常.");
        }
    }
}

2)处理返回格式信息的函数举例(调用send_request方法时responseType为xml)
function processXMLResponse() {
    if(http_request.readyState == 4) {
        if(http_request.status == 200) {
            //信息已经成功返回,开始处理信息
            alert("XML响应.");
        } else {
            alert("您所请求的页面有异常.");
        }
    }
}

posted @ 2016-05-31 13:14  昕昕l  阅读(94)  评论(0)    收藏  举报