可以将下面的代码保存在一个文件里如: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";                          
                    }
            });
*/

最新文章

  1. ActiveMQ中的Destination高级特性(一)
  2. CH模拟赛 还教室
  3. hibernate的HQL语句
  4. [logstash-input-http] 插件使用详解
  5. 2.交通聚类 -层次聚类(agnes)Java实现
  6. 会话控制(session、cookie)
  7. NDK
  8. android开发 wifi开发工具类
  9. 使用webview如何做超时判断
  10. jQuery EasyUI 1.4.4 Combobox无法检索中文输入的问题
  11. Css3从IE6-IE9的支持查看
  12. 本地环境下 WordPress 环境搭建与安装
  13. 【Oracle】wmsys.wm_concat函数字段值为空
  14. ubuntu安装nVidia驱动,遇到终端闪砾问题并解决
  15. 数据结构——Java实现单链表
  16. 别以为真懂Openstack: 虚拟机创建的50个步骤和100个知识点(2)
  17. intel webrtc 部署
  18. Python数据结构——栈的列表实现
  19. java安装1.8的经验和Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVers问题处理
  20. SQL---->mySQl数据库1------数据库的增删改查备份恢复

热门文章

  1. [Q&A] 在证书存储区中找不到清单签名证书
  2. Entity Framework 代码先行之约定配置
  3. 吉日嘎拉C#快速开发平台V4.0到V4.2升级记
  4. 【工业串口和网络软件通讯平台(SuperIO)教程】四.开发设备驱动
  5. Linux(四)__javaee开发环境的搭建
  6. Understanding glibc malloc【待译】
  7. 设计模式学习之路——Decorator装饰模式(结构模式)
  8. [ASP.NET MVC] ASP.NET Identity登入技术剖析
  9. Nginx主配置参数详解,Nginx配置网站
  10. jQueryMobile示例页面代码