简单的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 相关文章推荐
ExtJS 2.0 GridPanel基本表格简明教程
May 25 Javascript
Jquery自定义button按钮的几种方法
Jun 11 Javascript
javascript学习笔记(八)正则表达式
Oct 08 Javascript
jquery使用hide方法隐藏指定id的元素
Mar 30 Javascript
jQuery中使用each处理json数据
Apr 23 Javascript
Javascript如何判断数据类型和数组类型
Jun 22 Javascript
js实现文字超出部分用省略号代替实例代码
Sep 01 Javascript
js oncontextmenu事件使用详解
Mar 25 Javascript
vue使用screenfull插件实现全屏功能
Sep 17 Javascript
Vue实现穿梭框效果
Sep 30 Javascript
vue中template的三种写法示例
Oct 21 Javascript
typescript编写微信小程序创建项目的方法
Jan 29 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程序员面试 切忌急功近利(更需要注重以后的发展)
2010/09/01 PHP
PHP+Mysql树型结构(无限分类)数据库设计的2种方式实例
2014/07/15 PHP
PHP保存带BOM文件的方法
2015/02/12 PHP
PHP查询附近的人及其距离的实现方法
2016/05/11 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
javascript去掉前后空格的实例
2013/11/07 Javascript
Javascript中的数组常用方法解析
2016/06/17 Javascript
jQuery组件easyui对话框实现代码
2016/08/25 Javascript
JavaScript中关于for循环删除数组元素内容时出现的问题
2016/11/21 Javascript
jQuery实现鼠标悬停3d菜单展开动画效果
2017/01/19 Javascript
JS中解决谷歌浏览器记住密码输入框颜色改变功能
2017/02/13 Javascript
jQuery插件DataTables分页开发心得体会
2017/08/22 jQuery
seajs中最常用的7个功能、配置示例
2017/10/10 Javascript
原生js实现form表单序列化的方法
2018/08/02 Javascript
vue生成文件本地打开查看效果的实例
2018/09/06 Javascript
elementUI 设置input的只读或禁用的方法
2018/10/30 Javascript
深入解析ES6中的promise
2018/11/08 Javascript
js DOM的事件常见操作实例详解
2019/12/16 Javascript
Element-ui 自带的两种远程搜索(模糊查询)用法讲解
2021/01/29 Javascript
[02:15]你好,这就是DOTA!
2015/08/05 DOTA
python获取豆瓣电影简介代码分享
2014/01/16 Python
python使用socket远程连接错误处理方法
2015/04/29 Python
python3中str(字符串)的使用教程
2017/03/23 Python
python 多进程共享全局变量之Manager()详解
2019/08/15 Python
python查看数据类型的方法
2019/10/12 Python
opencv python Canny边缘提取实现过程解析
2020/02/03 Python
西班牙英格列斯百货英国官网:El Corte Inglés英国
2017/10/30 全球购物
Fanatics英国官网:美国体育电商
2018/11/06 全球购物
自我评价的正确写法
2013/09/19 职场文书
2013年高中生自我评价
2013/10/23 职场文书
保险专业求职信
2014/07/07 职场文书
2015年党性分析材料
2014/12/19 职场文书
保送生自荐信范文
2015/03/26 职场文书
承诺书的签字人,需不需要承担相应的责任?
2019/07/09 职场文书
八年级作文之一起的走过日子
2019/09/17 职场文书
Python实现生活常识解答机器人
2021/06/28 Python