学无止境

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

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  21 随笔 :: 0 文章 :: 85 评论 :: 16万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

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   JaiHo  阅读(476)  评论(2编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示