简单的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 相关文章推荐
js null,undefined,字符串小结
Aug 21 Javascript
简单谈谈javascript中的变量、作用域和内存问题
Aug 30 Javascript
jquery实现两边飘浮可关闭的对联广告
Nov 27 Javascript
Javascript获取统一管理的提示语(message)
Feb 03 Javascript
jquery实现页面常用的返回顶部效果
Mar 04 Javascript
Bootstrap网格系统详解
Apr 26 Javascript
JS递归遍历对象获得Value值方法技巧
Jun 14 Javascript
Vue 单文件中的数据传递示例
Mar 21 Javascript
bootstrap select插件封装成Vue2.0组件
Apr 17 Javascript
简述vue路由打开一个新的窗口的方法
Nov 29 Javascript
vue悬浮可拖拽悬浮按钮的实例代码
Aug 20 Javascript
JQuery常用选择器功能与用法实例分析
Dec 23 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数据库配置文件一般做法分享
2012/07/07 PHP
浅析PHP文件下载原理
2014/12/25 PHP
PHP SPL标准库之接口(Interface)详解
2015/05/11 PHP
PHP的PDO操作简单示例
2016/03/30 PHP
PHP简单获取多个checkbox值的方法
2016/06/13 PHP
Codeigniter里的无刷新上传的实现代码
2019/04/14 PHP
什么是Node.js?Node.js详细介绍
2014/06/01 Javascript
jquery ajax请求方式与提示用户正在处理请稍等
2014/09/01 Javascript
jQuery使用empty()方法删除元素及其所有子元素的方法
2015/03/26 Javascript
JQuery radio(单选按钮)操作方法汇总
2015/04/15 Javascript
jQuery实现移动端滑块拖动选择数字效果
2015/12/24 Javascript
jQuery解析json格式数据简单实例
2016/01/22 Javascript
js中编码函数:escape,encodeURI与encodeURIComponent详解
2017/03/21 Javascript
js实现本地图片文件拖拽效果
2017/07/18 Javascript
Angular中使用better-scroll插件的方法
2018/03/27 Javascript
JavaScript指定断点操作实例教程
2018/09/18 Javascript
javascript实现放大镜功能
2020/12/09 Javascript
[01:56]生活中的妖精之七夕特别档
2016/08/09 DOTA
python快速排序代码实例
2013/11/21 Python
Python的Flask框架中SQLAlchemy使用时的乱码问题解决
2015/11/07 Python
如何处理Python3.4 使用pymssql 乱码问题
2016/01/08 Python
Python自动化运维之IP地址处理模块详解
2017/12/10 Python
Python基础学习之时间转换函数用法详解
2019/06/18 Python
python和pywin32实现窗口查找、遍历和点击的示例代码
2020/04/01 Python
Django实现图片上传功能步骤解析
2020/04/22 Python
html5指南-1.html5全局属性(html5 global attributes)深入理解
2013/01/07 HTML / CSS
HTML5中在title标题标签里设置小图标的方法
2020/06/23 HTML / CSS
COACH德国官方网站:纽约现代奢侈品牌,1941年
2018/06/09 全球购物
Oral-B荷兰:牙医最推荐的品牌
2020/02/25 全球购物
文秘专业毕业生就业推荐信
2013/11/08 职场文书
路政管理毕业自荐书范文
2014/02/10 职场文书
小学生学雷锋演讲稿
2014/04/25 职场文书
社区服务活动总结
2014/05/07 职场文书
车间核算员岗位职责
2014/07/01 职场文书
写字楼租赁意向书
2014/07/30 职场文书
护士旷工检讨书
2015/08/15 职场文书