简单的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 相关文章推荐
Prototype Function对象 学习
Jul 12 Javascript
JS解析json数据并将json字符串转化为数组的实现方法
Dec 25 Javascript
JQuery 图片滚动轮播示例代码
Mar 24 Javascript
jQuery实现鼠标可拖动调整表格列宽度
May 26 Javascript
JavaScript字符串对象toLowerCase方法入门实例(用于把字母转换为小写)
Oct 17 Javascript
jQuery为动态生成的select元素添加事件的方法
Aug 29 Javascript
jQuery插件zTree实现清空选中第一个节点所有子节点的方法
Mar 08 Javascript
jquery实现全选、全不选以及单选功能
Mar 23 jQuery
Vue中的数据监听和数据交互案例解析
Jul 12 Javascript
详解Vue学习笔记入门篇之组件的内容分发(slot)
Jul 17 Javascript
Node 代理访问的实现
Sep 19 Javascript
vue项目页面嵌入代码块vue-prism-editor的实现
Oct 30 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设置图片文件上传大小的具体实现方法
2013/10/11 PHP
PHP实现搜索时记住状态的方法示例
2018/05/11 PHP
Javascript 拖拽的一些高级的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
js如何实现淡入淡出效果
2020/11/18 Javascript
基于JavaScript Array数组方法(新手必看篇)
2016/08/20 Javascript
javascript删除html标签函数cIsHTML
2017/01/09 Javascript
微信小程序 图片宽度自适应的实现
2017/04/06 Javascript
JavaScript面向对象精要(下部)
2017/09/12 Javascript
ztree实现左边动态生成树右边为内容详情功能
2017/11/03 Javascript
基于webpack4搭建的react项目框架的方法
2018/06/30 Javascript
vue 中引用gojs绘制E-R图的方法示例
2018/08/24 Javascript
Jquery实现无缝向上循环滚动列表的特效
2019/02/13 jQuery
vue页面跳转实现页面缓存操作
2020/07/22 Javascript
详解JavaScript中分解数字的三种方法
2021/01/05 Javascript
[53:15]Newbee vs Pain 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python中使用hashlib模块处理算法的教程
2015/04/28 Python
python中使用正则表达式的后向搜索肯定模式(推荐)
2017/11/11 Python
Python3实现的回文数判断及罗马数字转整数算法示例
2019/03/27 Python
Python PyQt5 Pycharm 环境搭建及配置详解(图文教程)
2019/07/16 Python
关于Django Models CharField 参数说明
2020/03/31 Python
浅谈pycharm导入pandas包遇到的问题及解决
2020/06/01 Python
Python小白学习爬虫常用请求报头
2020/06/03 Python
详解pyinstaller生成exe的闪退问题解决方案
2020/06/19 Python
关于canvas.toDataURL 在iOS运行失败的问题解决
2020/09/16 HTML / CSS
阿联酋最好的手机、电子产品和家用电器网上商店:Eros Digital Home
2020/08/09 全球购物
广告学专业应届生求职信
2013/10/01 职场文书
土木工程建筑专业毕业生求职信
2013/10/21 职场文书
新闻学毕业生自荐信
2013/11/15 职场文书
学校政风行风整改方案
2014/10/25 职场文书
上班迟到检讨书范文
2015/05/06 职场文书
为什么 Nginx 比 Apache 更牛逼
2021/03/31 Servers
MySQL 覆盖索引的优点
2021/05/19 MySQL
在vue中import()语法不能传入变量的问题及解决
2022/04/01 Vue.js
Tomcat配置访问日志和线程数
2022/05/06 Servers
阿里云服务器(windows)手动部署FTP站点详细教程
2022/08/05 Servers
canvas 中如何实现物体的框选
2022/08/05 Javascript