• 摆脱jquery,用自己的JS库实现ajax功能


    可以将下面的代码保存在一个文件里如:myAjax.js,以后在项目中如果觉得jquery那一套很重,就完全可以使用自己的ajax库,不用担心性能和兼容性!

    /**
     * 创建ajax请求对象
     * @returns XMLHTTPREQUEST
     */
    function createAjaxObj(){
        var req ;
        if(window.XMLHttpRequest){
            req=new XMLHttpRequest();
        }else{
            req=new ActiveXObject("Msxml2.XMLHTTP");
        }
        return req;
    }


    /**
     * 发送 ajax 请求
     * @param method  get/post
     * @param url     请求路径
     * @param params  参数列表  格式a=?&&b=?
     * @param async   true 异步 false 同步
     * @param handle200  处理成功的函数
     * @param loading    处理加载中的函数
     * @param handle404  处理找不到地址的函数
     * @param handle500  处理服务器内部出错的函数
     */
    function sendAjaxReq(method,url,params,async,handle200,loading,handle404,handle500){
        var req = createAjaxObj();
        req.onreadystatechange = function(){
            if(4==req.readyState){
                if(200==req.status){
                    if(handle200){
                        handle200(req.responseText);
                    }
                }else if(404==req.status){
                    if(handle404){
                        handle404();
                    }
                }else if(500==req.status){
                    if(handle500){
                        handle500();
                    }
                }
            }else{
                if(loading){
                    loading();
                }
            }
        };
        if("get"==method.toLowerCase()){
            req.open(method,url+(params==null?"":"?"+params),async);
            req.send(null);
        }else if("post" ==method.toLowerCase()){
            req.open(method,url,async);
            req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
            req.send(params);
        }
    }



    /** For Example
    // 使用自己的ajax 类库发送 请求    
            sendAjaxReq("post",
                "${base}/brandAjax/checkBrandId.do",
                "brandId="+brandId,true,
                function(req){
                    eval(" var data="+ req.responseText);
                    if(data.message==true){
                            alert("品牌ID:"+brandId+"已存在,不可重复添加!");
                            $("#hidBrandId")[0].innerHTML=""; 
                            $("#brandName").val("");                                
                        }else{
                            submitFlag=1;
                            $("#selBrand")[0].style.display = "none";                          
                        }
                });
    */

    ------------------你若盛开 - 蝴蝶自来------------------
    如果,您认为阅读这篇博客让您有些收获, 如果,您希望更容易地发现我的新博客,不妨关注一下。因为,我的写作热情也离不开您的肯定支持。
    感谢您的阅读,如果您对我的博客所讲述的内容有兴趣,请继续关注我的后续博客。
    因为有小孩,兼职卖书,路过的朋友有需要低价购买图书、点读笔、纸尿裤等资源的,可扫最上方二维码,质量有保证,价格很美丽,欢迎咨询! 欢迎关注微信公众号:18般武艺
  • 相关阅读:
    世界企业家:创业者需知的8条创业逻辑
    比尔·盖茨的“机会”观——不追求机会,才会有机会
    我爱思佳(帮别人名字作诗)
    唐艺铭(帮别人名字作诗)
    我爱思佳(帮别人名字再作诗)
    优秀是一种习惯:智者五句话足以改变你的人生
    别了,我的情人
    李丽萍(帮别人名字作诗)
    Know GCS AND GES structure size in shared pool
    测试Exadata单个cell失败
  • 原文地址:https://www.cnblogs.com/xifenglou/p/4403516.html
Copyright © 2020-2023  润新知