简单的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 相关文章推荐
JQuery.ajax传递中文参数的解决方法 推荐
Mar 28 Javascript
jQuery快速上手:写jQuery与直接写JS的区别详细解析
Aug 26 Javascript
使用javascript做的一个随机点名程序
Feb 13 Javascript
Node.js node-schedule定时任务隔多少分钟执行一次的方法
Feb 10 Javascript
使用AmplifyJS组件配合JavaScript进行编程的指南
Jul 28 Javascript
JQuery validate插件验证用户注册信息
May 11 Javascript
jQuery 弹出层插件(推荐)
May 24 Javascript
js实现打地鼠小游戏
Feb 13 Javascript
Three.js利用顶点绘制立方体的方法详解
Sep 27 Javascript
vue计算属性computed、事件、监听器watch的使用讲解
Jan 21 Javascript
小程序实现锚点滑动效果
Sep 23 Javascript
vue 项目引入echarts 添加点击事件操作
Sep 09 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
增加反向链接的101个方法 站长推荐
2007/01/31 PHP
php设计模式  Command(命令模式)
2011/06/17 PHP
openflashchart 2.0 简单案例php版
2012/05/21 PHP
PHP执行批量mysql语句的解决方法
2013/05/02 PHP
JQuery datepicker 使用方法
2011/05/20 Javascript
禁止你的左键复制实用技巧
2013/01/04 Javascript
谈谈JavaScript中的函数与闭包
2013/04/14 Javascript
jquery slibings选取同级其他元素的实现代码
2013/11/15 Javascript
JavaScript获取table中某一列的值的方法
2014/05/06 Javascript
jQuery 获取、设置HTML或TEXT内容的两种方法
2014/05/23 Javascript
jQuery实现仿Alipay支付宝首页全屏焦点图切换特效
2015/05/04 Javascript
最新最热最实用的15个jQuery插件汇总
2015/07/05 Javascript
js点击按钮实现水波纹效果代码(CSS3和Canves)
2016/09/15 Javascript
javascript中href和replace的比较(详解)
2016/11/25 Javascript
微信小程序之数据双向绑定与数据操作
2017/05/12 Javascript
将jquery.qqFace.js表情转换成微信的字符码
2017/12/01 jQuery
使用vue-aplayer插件时出现的问题的解决
2018/03/02 Javascript
Vue 组件传值几种常用方法【总结】
2018/05/28 Javascript
jQuery插件实现非常实用的tab栏切换功能【案例】
2019/02/18 jQuery
原生JavaScript实现的无缝滚动功能详解
2020/01/17 Javascript
JS运算符简单用法示例
2020/01/19 Javascript
python自定义解析简单xml格式文件的方法
2015/05/11 Python
Python计算已经过去多少个周末的方法
2015/07/25 Python
用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案
2021/03/03 Python
html5 canvas绘制矩形和圆形的实例代码
2016/06/16 HTML / CSS
Sunglasses Shop英国:欧洲领先的太阳镜在线供应商之一
2018/09/19 全球购物
J2EE面试题
2016/03/14 面试题
个人委托书怎么写
2014/04/04 职场文书
党性心得体会
2014/09/03 职场文书
高中升旗仪式演讲稿
2014/09/09 职场文书
学术研讨会欢迎词
2015/01/26 职场文书
基层党建工作简报
2015/07/21 职场文书
2019安全宣传标语大全
2019/08/14 职场文书
Python通过m3u8文件下载合并ts视频的操作
2021/04/16 Python
javascript遍历对象的五种方式实例代码
2021/10/24 Javascript
git中cherry-pick命令的使用教程
2022/06/25 Servers