简单的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 相关文章推荐
超级兔子让浮动层消失的前因后果
Mar 09 Javascript
分页栏的web标准实现
Nov 01 Javascript
jQuery实现类似淘宝购物车全选状态示例
Jun 26 Javascript
js实现带搜索功能的下拉框实时搜索实时匹配
Nov 05 Javascript
js Dialog 去掉右上角的X关闭功能
Apr 23 Javascript
Web Uploader文件上传插件使用详解
May 10 Javascript
Bootstrap Navbar Component实现响应式导航
Oct 08 Javascript
bootstrap模态框实现拖拽效果
Dec 14 Javascript
解决在vue+webpack开发中出现两个或多个菜单公用一个组件问题
Nov 28 Javascript
vue项目实现github在线预览功能
Jun 20 Javascript
javascript实现页面的实时时钟显示示例
Aug 06 Javascript
jQuery实现计算器功能
Oct 19 jQuery
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下操作Linux消息队列完成进程间通信的方法
2010/07/24 PHP
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
2012/03/26 PHP
php生成略缩图代码
2012/07/16 PHP
thinkphp的CURD和查询方式介绍
2013/12/19 PHP
利用中国天气预报接口实现简单天气预报
2014/01/20 PHP
php模拟post上传图片实现代码
2016/06/24 PHP
php源码的安装方法和实例
2019/09/26 PHP
PHP设计模式之 策略模式Strategy详解【对象行为型】
2020/05/01 PHP
PHP 实现重载
2021/03/09 PHP
学习YUI.Ext 第二天
2007/03/10 Javascript
javascript 传统事件模型构造的事件监听器实现代码
2010/05/31 Javascript
jQuery实现列表自动循环滚动鼠标悬停时停止滚动
2013/09/06 Javascript
兼容最新firefox、chrome和IE的javascript图片预览实现代码
2014/08/08 Javascript
编写自己的jQuery提示框(Tip)插件
2015/02/05 Javascript
最棒的Angular2表格控件
2016/08/10 Javascript
jQuery与js实现颜色渐变的方法
2016/12/30 Javascript
原生js实现手风琴功能(支持横纵向调用)
2017/01/13 Javascript
详解React 16 中的异常处理
2017/07/28 Javascript
怎么使用javascript深度拷贝一个数组
2019/06/06 Javascript
JS字符串补全方法padStart()和padEnd()
2020/05/27 Javascript
vue-resource 拦截器interceptors使用详解
2021/01/18 Vue.js
[36:05]完美世界DOTA2联赛循环赛 Forest vs DM 第一场 11.06
2020/11/06 DOTA
对python xlrd读取datetime类型数据的方法详解
2018/12/26 Python
对Python之gzip文件读写的方法详解
2019/02/08 Python
Python使用Tkinter实现滚动抽奖器效果
2020/01/06 Python
e路東瀛(JAPANiCAN)香港:日本旅游、日本酒店和温泉旅馆预订
2018/11/21 全球购物
JSF面试题:Jsf中导航的标签是什么
2013/04/20 面试题
为什么需要版本控制?
2013/08/08 面试题
一年级学生评语大全
2014/04/21 职场文书
自愿离婚协议书范本
2015/01/26 职场文书
元旦主持词开场白
2015/05/29 职场文书
2016年大学生暑期社会实践方案
2015/11/26 职场文书
中国式结婚:司仪主持词(范文)
2019/07/25 职场文书
uwsgi+nginx代理Django无法访问静态资源的解决
2021/05/10 Servers
Python合并pdf文件的工具
2021/07/01 Python