全网整合营销服务商

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

免费咨询热线: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 


相关文章: 建站之星安装失败:服务器环境不兼容?  Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递  测试制作网站有哪些,测试性取向的权威测试或者网站?  建站之星价格显示格式升级,你的预算足够吗?  C++如何编写函数模板?(泛型编程入门)  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  如何快速搭建高效香港服务器网站?  如何彻底删除建站之星生成的Banner?  如何基于云服务器快速搭建个人网站?  已有域名如何快速搭建专属网站?  建站之星安装模板失败:服务器环境不兼容?  建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析  深圳网站制作平台,深圳市做网站好的公司有哪些?  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  如何选择靠谱的建站公司加盟品牌?  建站之星与建站宝盒如何选择最佳方案?  建站之星如何快速更换网站模板?  Android自定义listview布局实现上拉加载下拉刷新功能  官网网站制作腾讯审核要多久,联想路由器newifi官网  如何在阿里云完成域名注册与建站?  如何快速搭建高效简练网站?  公众号网站制作网页,微信公众号怎么制作?  佛山企业网站制作公司有哪些,沟通100网上服务官网?  建站之星安装路径如何正确选择及配置?  定制建站流程解析:需求评估与SEO优化功能开发指南  ,怎么用自己头像做动态表情包?  哈尔滨网站建设策划,哈尔滨电工证查询网站?  一键制作网站软件下载安装,一键自动采集网页文档制作步骤?  广东专业制作网站有哪些,广东省能源集团有限公司官网?  C++用Dijkstra(迪杰斯特拉)算法求最短路径  广东企业建站网站优化与SEO营销核心策略指南  如何高效完成自助建站业务培训?  网站制作多少钱一个,建一个论坛网站大约需要多少钱?  淘宝制作网站有哪些,淘宝网官网主页?  如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法  手机网站制作与建设方案,手机网站如何建设?  javascript中的try catch异常捕获机制用法分析  建站之星如何快速解决建站难题?  如何快速启动建站代理加盟业务?  上海网站制作网站建设公司,建筑电工证网上查询系统入口?  网站制作的步骤包括,正确网址格式怎么写?  股票网站制作软件,网上股票怎么开户?  武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?  金*站制作公司有哪些,金华教育集团官网?  如何通过cPanel快速搭建网站?  高端智能建站公司优选:品牌定制与SEO优化一站式服务  如何配置支付宝与微信支付功能?  建站之星后台密码遗忘?如何快速找回?  如何选择网络建站服务器?高效建站必看指南  湖北网站制作公司有哪些,湖北清能集团官网? 

您的项目需求

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