全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

js如何编写简单的ajax方法库

本文实例为大家分享了js编写ajax方法库的具体代码,供大家参考,具体内容如下

具体代码

~function(){
  //ajax:实现ajax请求的公共方法;当一个方法传递的参数过多,而且还不固定,我们使用对象统一传值法(把需要传递的参数值都放在一个对象中,一起传递进去即可)
  function ajax(options){
    //把需要使用的参数值设定一个规则和初始值
    var _default = {
      url:"",//请求的地址
      type:"get",//请求的方式
      dataType:"json",//设置请求回来的内容格式
      async:true,//请求是同步还是异步
      data:null,//放在请求主体中的内容(POST)
      getHead:null,//当READY STATE===2的时候执行的回调方法
      success:null//当READY STATE===4的时候执行的回调方法
    };
    //使用用户自己传递进来的值覆盖我们的默认值
    for(var key in options){
      if(options.hasOwnProperty(key)){
        _default[key] = options[key];
      }
    }
    //如果当前的请求方式是get,我们需要在URL的末尾加随机数清楚缓存
    if(_default.type==="get"){
      _default.url.indexOf("?") >=0 ? _default.url += "&" : _default.url += "?";
      _default.url +="_="+Math.random();
    }
    //SEND AJAX
    var xhr = createXHR();
    xhr.open(_default.type,_default.url,_default.async);
    xhr.onreadystatechange = function(){
      if(/^2\d{2}/.test(xhr.status)){
        //想要在READY STATE等于2的时候做一些操作,需要保证AJAX是异步请求
        if(xhr.readyState === 2){
          if(typeof _default.getHead === "function"){
            _default.getHead.call(xhr);
          }
        }
        if(xhr.readyState === 4){
          var val = xhr.responseText;
          //如果传递的参数值是json,说明获取的内容应该是json格式的对象
          if(_default.dataType === "json"){
            val = "JSON" in window ? JSON.parse(val) : eval("("+val+")");
          }
          _default.success && _default.success.call(xhr,val)

        }
      }
    }
    xhr.send(_default.data);
  }
  window.ajax = ajax;
}()

ajax({
  url:"data.txt",
  type:"get",
  dataType:"json",
  async:false,
  getHead:function(){
    //this xhr当前AJAX对象
  },
  success:function(data){
    //this xhr当前AJAX对象
    //data:我们从服务器获取的主体内容
  }

})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# js  # ajax  # Struts2.5 利用Ajax将json数据传值到JSP的实例  # JavaScript 通过Ajax 动态加载CheckBox复选框  # 浅谈Vue.js应用的四种AJAX请求数据模式  # 基于jstree使用AJAX请求获取数据形成树  # JavaScript使用Ajax上传文件的示例代码  # vuejs使用FormData实现ajax上传图片文件  # JS+Ajax实现百度智能搜索框  # 原生js中ajax访问的实例详解  # 放在  # 法库  # 回调  # 随机数  # 还不  # 大家分享  # 具体内容  # 大家多多  # 默认值  # 象中  # 应该是  # 一传  # url  # type  # _default  # options  # var  # dataType  # data  # null 


相关文章: c++怎么用jemalloc c++替换默认内存分配器【性能】  佛山企业网站制作公司有哪些,沟通100网上服务官网?  如何快速搭建高效香港服务器网站?  香港服务器部署网站为何提示未备案?  如何在阿里云通过域名搭建网站?  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  青岛网站建设如何选择本地服务器?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  如何基于PHP生成高效IDC网络公司建站源码?  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  免费ppt制作网站,有没有值得推荐的免费PPT网站?  如何快速查询网站的真实建站时间?  平台云上自助建站如何快速打造专业网站?  建站之星后台密码遗忘如何找回?  建站主机选哪家性价比最高?  建站之星3.0如何解决常见操作问题?  如何破解联通资金短缺导致的基站建设难题?  公司网站制作价格怎么算,公司办个官网需要多少钱?  如何快速上传自定义模板至建站之星?  广德云建站网站建设方案与建站流程优化指南  建站VPS推荐:2025年高性能服务器配置指南  婚礼视频制作网站,学习*后期制作的网站有哪些?  如何在IIS服务器上快速部署高效网站?  外贸公司网站制作哪家好,maersk船公司官网?  建站之星如何取消后台验证码生成?  建站主机系统SEO优化与智能配置核心关键词操作指南  建站三合一如何选?哪家性价比更高?  相册网站制作软件,图片上的网址怎么复制?  深圳网站制作的公司有哪些,dido官方网站?  南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?  如何在橙子建站上传落地页?操作指南详解  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  如何快速启动建站代理加盟业务?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  建站主机SSH密钥生成步骤及常见问题解答?  购物网站制作公司有哪些,哪个购物网站比较好?  如何在香港服务器上快速搭建免备案网站?  如何在阿里云域名上完成建站全流程?  网站制作多少钱一个,建一个论坛网站大约需要多少钱?  常州自助建站:操作简便模板丰富,企业个人快速搭建网站  制作网站的模板软件,网站怎么建设?  巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成  如何规划企业建站流程的关键步骤?  ,柠檬视频怎样兑换vip?  北京网站制作的公司有哪些,北京白云观官方网站?  建站org新手必看:2024最新搭建流程与模板选择技巧  香港服务器网站推广:SEO优化与外贸独立站搭建策略  MySQL查询结果复制到新表的方法(更新、插入)  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。