学无止境

——把简单的知识用好,也把东西做的简单

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

var ajax = function(o){
    /*
     * @o.url Request url
     * @o.method Set to post or get
     * @o.async Set async or not
     * @o.data Parameters to be sending
     * @o.success Callback function for success
     * @o.fail Callback function for fail
     * @o.header Set request http herder
     * @o.user Set username
     * @o.pwd Set password
     */
    var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
    var data = null;
    var url = o.url;
    if( !o.data ) o.data = {};
    o.data['NoCache'] = Math.random();

    var temp= [];
    for(var i in o.data) temp.push(i+"="+o.data[i]);
    data = temp.join("&");

    if( !o.method ) o.method = 'get';
    if( o.method=="get" && data!=null ){
        url = url+( /\?/.test(url) ? '&' : '?' )+data;
        data = null
    }

    xhr.open( o.method, url, o.async||true, o.user||'', o.pwd||'' );
    if(o.header){
        for(var type in o.header){
            xhr.setRequestHeader( type, o.header[type] );
        }
    }
    if(!o.header || !o.header['Content-Type']) xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

    xhr.onreadystatechange = function(){
        if(xhr.readyState==4){
            if(xhr.status==200||xhr.status==206){
                if(o.success){ o.success.apply(xhr,[xhr.responseText]); }
            }else{
                if(o.fail){ o.fail.apply(xhr); }
            }
        }
    };
    xhr.send(data);
};
ajax({
    url:"draw.html",
    method:"get",
    async:"true",
    data:{ "url":"test", "sgg":"kktest" },
    header:{
        'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8',
        'Range':'bytes=0-2'
    },
    success:function(ret){
        alert(ret);
        alert(this.getAllResponseHeaders());
    },
    fail:function(){
        alert(this.status);
    }
});

posted on 2011-08-25 00:02  JaiHo  阅读(476)  评论(2编辑  收藏  举报