简单的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 相关文章推荐
IE8 引入跨站数据获取功能说明
Jul 22 Javascript
jquery mobile的触控点击事件会多次触发问题的解决方法
May 08 Javascript
js获取内联样式的方法
Jan 27 Javascript
jQuery获取父元素节点、子元素节点及兄弟元素节点的方法
Apr 14 Javascript
利用JS实现页面删除并重新排序功能
Dec 09 Javascript
原JS实现banner图的常用功能
Jun 12 Javascript
vue--vuex详解
Apr 15 Javascript
利用H5api实现时钟的绘制(javascript)
Sep 13 Javascript
基于JavaScript实现简单抽奖功能代码实例
Oct 20 Javascript
vue-router懒加载的3种方式汇总
Feb 28 Vue.js
一文彻底理解js原生语法prototype,__proto__和constructor
Oct 24 Javascript
JavaScript parseInt0.0000005打印5原理解析
Jul 23 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 正确解码javascript中通过escape编码后的字符
2010/01/28 PHP
PHP中strtotime函数使用方法详解
2011/11/27 PHP
PHP echo,print,printf,sprintf函数之间的区别与用法详解
2013/11/27 PHP
PHP手机短信验证码实现流程详解
2018/05/17 PHP
PHP文件操作简单介绍及函数汇总
2020/12/11 PHP
农历与西历对照
2006/09/06 Javascript
javascript下判断一个元素是否存在的代码
2010/03/05 Javascript
JavaScript入门之基本函数详解
2011/10/21 Javascript
JavaScript中__proto__与prototype的关系深入理解
2012/12/04 Javascript
jQuery中setTimeout的几种使用方法小结
2013/04/07 Javascript
JavaScript使用cookie记录临时访客信息的方法
2015/04/07 Javascript
JavaScript判断按钮被点击的方法
2015/12/13 Javascript
学习JavaScript设计模式之代理模式
2016/01/12 Javascript
大型JavaScript应用程序架构设计模式
2016/06/29 Javascript
AngularJs页面筛选标签小功能
2016/08/01 Javascript
Javascript 获取鼠标当前的位置实现方法
2016/10/27 Javascript
jQ处理xml文件和xml字符串的方法(详解)
2016/11/22 Javascript
详解vee-validate的使用个人小结
2017/06/07 Javascript
mockjs+vue页面直接展示数据的方法
2018/12/19 Javascript
JS实现求5的阶乘示例
2019/01/21 Javascript
浅谈vuex的基本用法和mapaction传值问题
2019/11/08 Javascript
React学习之受控组件与数据共享实例分析
2020/01/06 Javascript
Python爬取网页中的图片(搜狗图片)详解
2017/03/23 Python
python实现求最长回文子串长度
2018/01/22 Python
使用python进行文本预处理和提取特征的实例
2018/06/05 Python
python视频按帧截取图片工具
2019/07/23 Python
python 通过视频url获取视频的宽高方式
2019/12/10 Python
京东国际站:JOYBUY
2017/11/23 全球购物
材料物理专业个人求职信
2013/12/15 职场文书
幸福家庭事迹材料
2014/02/03 职场文书
2014年小学生迎国庆65周年演讲稿
2014/09/27 职场文书
法人身份证明书
2015/06/18 职场文书
年会邀请函的格式及范文五篇
2019/11/02 职场文书
redis哨兵常用命令和监控示例详解
2021/05/27 Redis
OpenCV-Python使用cv2实现傅里叶变换
2021/06/09 Python
MySQL去除密码登录告警的方法
2022/04/20 MySQL