简单的ajax连接库分享(不用jquery的ajax)


Posted in Javascript onJanuary 19, 2014
var ajax = {
 init : function(){
  var xmlHttp = new XMLHttpRequest();
  if (!window.XMLHttpRequest)
     xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    return xmlHttp;
 },
 call : function(opt){
  var xmlHttp = this.init();  xmlHttp.onreadystatechange = function(){
   if(xmlHttp.readyState===4)
   {
     xmlHttp.status===200 ?
     opt.success(xmlHttp.responseText,xmlHttp.responseXML) : opt.error(xmlHttp.responseText,xmlHttp.status);
   }
  }
  opt.data = this.parseData(opt.data);
  if(opt.method.toLowerCase() === 'get'){
   opt.url = opt.url + "?" + opt.data;
   opt.data = null;
  }
  xmlHttp.open(opt.method,opt.url,opt.async);
  if(opt.method.toLowerCase() === 'post')
   xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  xmlHttp.send(opt.data);
 },
 parseData : function(data){
  if(typeof data == 'object'){
   var str = '';
   for(var i in data){
    str += "&"+i+"="+encodeURIComponent(data[i]);
   }
   return str.length==0 ? str : str.substring(1);
  }else{
   return data;
  }
 }
}
Javascript 相关文章推荐
使用onbeforeunload属性后的副作用
Mar 08 Javascript
js自执行函数的几种不同写法的比较
Aug 16 Javascript
Javascript函数式编程语言
Oct 11 Javascript
微信小程序 input输入框控件详解及实例(多种示例)
Dec 14 Javascript
prototype与__proto__区别详细介绍
Jan 09 Javascript
JavaScript字符串对象(string)基本用法示例
Jan 18 Javascript
angular框架实现全选与单选chekbox的自定义
Jul 06 Javascript
微信小程序使用navigateTo数据传递的实例
Sep 26 Javascript
JS跳转手机站url的若干注意事项
Oct 18 Javascript
js数组去重的N种方法(小结)
Jun 07 Javascript
jquery实现轮播图特效
Apr 12 jQuery
Vue插槽_特殊特性slot,slot-scope与指令v-slot说明
Sep 04 Javascript
js取float型小数点后两位数的方法
Jan 18 #Javascript
js数组循环遍历数组内所有元素的方法
Jan 18 #Javascript
js使用eval解析json实例与注意事项分享
Jan 18 #Javascript
收集json解析的四种方法分享
Jan 17 #Javascript
javascript在子页面中函数无法调试问题解决方法
Jan 17 #Javascript
ie7+背景透明文字不透明超级简单的实现方法
Jan 17 #Javascript
用js控制组织结构图可以任意拖拽到指定位置
Jan 17 #Javascript
You might like
社区(php&&mysql)三
2006/10/09 PHP
php 数组二分法查找函数代码
2010/02/16 PHP
PHP数组传递是值传递而非引用传递概念纠正
2013/01/31 PHP
php版淘宝网查询商品接口代码示例
2014/06/17 PHP
Linux平台PHP5.4设置FPM线程数量的方法
2016/11/09 PHP
php生成微信红包数组的方法
2019/09/05 PHP
基于jQuery的简单的列表导航菜单
2011/03/02 Javascript
javascript通过navigator.userAgent识别各种浏览器
2013/10/25 Javascript
jquery果冻抖动效果实现方法
2015/01/15 Javascript
jquery ui resize 中border-box的bug修正
2015/04/26 Javascript
Jquery动态添加输入框的方法
2015/05/29 Javascript
js中scrollTop()方法和scroll()方法用法示例
2016/10/03 Javascript
Vue.js tab实现选项卡切换
2017/05/16 Javascript
ES6使用Set数据结构实现数组的交集、并集、差集功能示例
2017/10/31 Javascript
vue 自定义 select内置组件
2018/04/10 Javascript
详解Angular6.0使用路由步骤(共7步)
2018/06/29 Javascript
详解vue-cli脚手架中webpack配置方法
2018/08/22 Javascript
layui对工具条进行选择性的显示方法
2019/09/19 Javascript
vue3.0中使用postcss-pxtorem的具体方法
2019/11/20 Javascript
记一次用ts+vuecli4重构项目的实现
2020/05/21 Javascript
[58:37]Serenity vs Fnatic 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
介绍Python中的一些高级编程技巧
2015/04/02 Python
python实现mysql的单引号字符串过滤方法
2015/11/14 Python
pandas计算最大连续间隔的方法
2019/07/04 Python
Tensorflow实现酸奶销量预测分析
2019/07/19 Python
python中字典按键或键值排序的实现代码
2019/08/27 Python
PyCharm 2019.3发布增加了新功能一览
2019/12/08 Python
Keras设定GPU使用内存大小方式(Tensorflow backend)
2020/05/22 Python
FitFlop澳大利亚官网:英国符合人体工学的鞋类品牌
2017/06/05 全球购物
Schutz鞋官方网站:Schutz Shoes
2017/12/13 全球购物
最新会计专业求职信范文
2014/01/28 职场文书
教师个人自我鉴定
2014/02/08 职场文书
让世界充满爱演讲稿
2014/05/24 职场文书
亚运会口号
2014/06/20 职场文书
借钱欠条怎么写
2015/07/03 职场文书
创业项目(超低成本创业项目)
2019/08/16 职场文书