WEB开发网
开发学院网页设计JavaScript 创建面向对象的Javascript实现Ajax访问QQ留言板 阅读

创建面向对象的Javascript实现Ajax访问QQ留言板

 2009-09-28 00:00:00 来源:WEB开发网   
核心提示: 然后开始创建XMLHttpRequestObject对象,其代码为common.js/*Name:Common通用JS类库*Author:Sonven*Create:2009-09-27*Modify:2009-09-27*///获取Uri参数function$getUriPararm(para

然后开始创建XMLHttpRequestObject对象,其代码为

common.js

/************************
* Name  :   Common通用JS类库
* Author :   Sonven
* Create :    2009-09-27
* Modify :    2009-09-27
*************************/
//获取Uri参数
function $getUriPararm(param,uri) {
    var _uri = (uri == null ? location.href : uri).toString();       //获取Uri地址
    
    if (_uri.lastIndexOf(param+"=") == -1) {
        alert('找不到参数:' + param);return false;
    }
    var temp1 = _uri.substring(_uri.lastIndexOf(param) + param.toString().length + 1);
    return temp1.indexOf("&") == -1 ? temp1 : temp1.substring(0, temp1.indexOf("&"));
}
//获取指定ID的对象
function $get(id) {
    return document.getElementById(id);
}
//XMLHttpRequestObject
function XMLHttpRequestObject(method,returnType,uri, param) {
    //创建xmlHttp对象
    this.xmlHttp=null;
    if (window.XMLHttpRequest) this.xmlHttp = new XMLHttpRequest();
    else if (window.ActiveXObject) this.xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");
    else { alert('您的浏览器不支持XMLHttp请求!'); return false; }
    this.uri = uri;
    this.method = method.toString().toLowerCase() == "post" ? "POST" : "GET";     //请求方式
    this.param = param;                                                  //Post请求的参数
    this.returnType = returnType.toString().toLowerCase() == "xml" ? "XML" : "TEXT"; //返回数据的格式
    
    this.returnValue="";  //返回的数据
}
XMLHttpRequestObject.prototype.request = function(callback) {
    this.xmlHttp.open(this.method, this.uri, true);
    var tempReturnType = this.returnType;
    var tempHttp = this.xmlHttp;
    this.xmlHttp.onreadystatechange = function() {
        if (tempHttp.readyState == 4) {
            if (tempHttp.status == 200) {
                callback(tempReturnType == "XML" ? tempHttp.responseXML : tempHttp.responseText);
            }
        }
    }
    //如果为Post请求
    if (this.method == "POST") {
        this.xmlHttp.setRequestHeader("content-type", "application/x-www-form-urlencoded");
        this.httpHttp.send(this.param);
    } else {
        this.xmlHttp.send(null);
    }
}

上一页  1 2 3 4  下一页

Tags:创建 面向 对象

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接