简单的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 相关文章推荐
由document.body和document.documentElement想到的
Apr 13 Javascript
基于jquery的图片懒加载js
Jun 30 Javascript
封装的原生javascript弹出层代码
Sep 24 Javascript
Javascript基础知识(二)事件
Sep 29 Javascript
js 操作符汇总
Nov 08 Javascript
JS实现单行文字不间断向上滚动的方法
Jan 29 Javascript
js判断登录与否并确定跳转页面的方法
Jan 30 Javascript
模板视图和AngularJS之间冲突的解决方法
Nov 22 Javascript
Ajax高级笔记 JavaScript高级程序设计笔记
Jun 22 Javascript
vue.js使用代理和使用Nginx来解决跨域的问题
Feb 03 Javascript
微信小程序实现红包雨功能
Jul 11 Javascript
jenkins自动构建发布vue项目的方法步骤
Jan 04 Vue.js
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计算当前坐标3公里内4个角落的最大最小经纬度实例
2016/02/26 PHP
PHP处理bmp格式图片的方法分析
2017/07/04 PHP
jQuery.ajax 用户登录验证代码
2010/10/29 Javascript
JavaScript使用cookie实现记住账号密码功能
2015/04/27 Javascript
JavaScript面向对象之私有静态变量实例分析
2016/01/14 Javascript
JQuery导航菜单选择特效
2016/04/11 Javascript
JavaScript数组去重由慢到快由繁到简(优化篇)
2016/08/26 Javascript
angularJS Provider、factory、service详解及实例代码
2016/09/21 Javascript
JS实现的点击表头排序功能示例
2017/03/27 Javascript
Node.js使用gm拼装sprite图片
2017/07/04 Javascript
vue中添加mp3音频文件的方法
2018/03/02 Javascript
node.js的Express服务器基本使用教程
2019/01/09 Javascript
vue-router 中 meta的用法详解
2019/11/01 Javascript
在vue中使用echarts(折线图的demo,markline用法)
2020/07/20 Javascript
原生JavaScript实现进度条
2021/02/19 Javascript
python封装对象实现时间效果
2020/04/23 Python
Python爬虫抓取手机APP的传输数据
2016/01/22 Python
Tensorflow加载预训练模型和保存模型的实例
2018/07/27 Python
Python3中在Anaconda环境下安装basemap包
2018/10/21 Python
解决Python运行文件出现out of memory框的问题
2018/12/03 Python
Python使用pickle进行序列化和反序列化的示例代码
2020/09/22 Python
windows系统Tensorflow2.x简单安装记录(图文)
2021/01/18 Python
CSS3之多背景background使用示例
2013/10/18 HTML / CSS
小学教师的个人自我鉴定
2013/10/26 职场文书
教育学专业实习生的自我鉴定
2013/11/26 职场文书
会计学自我鉴定
2014/02/06 职场文书
2014年征兵标语
2014/06/20 职场文书
大学生考试作弊被抓检讨书
2014/12/27 职场文书
警示教育片观后感
2015/06/17 职场文书
食堂管理制度范本
2015/08/04 职场文书
2016年基层党组织创先争优承诺书
2016/03/25 职场文书
Nginx配置并兼容HTTP实现代码解析
2021/03/31 Servers
JS ES6异步解决方案
2021/04/29 Javascript
python实现进度条的多种实现
2021/04/29 Python
Python批量将csv文件转化成xml文件的实例
2021/05/10 Python
Nebula Graph解决风控业务实践
2022/03/31 MySQL