原生javascript实现的ajax异步封装功能示例


Posted in Javascript onNovember 03, 2016

本文实例讲述了原生javascript实现的ajax异步封装功能。分享给大家供大家参考,具体如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript" src="Scripts/jquery.js"></script>
</head>
<style>
* { margin: 0px; padding: 0px; }
#box { float: left; width: 500px; }
#left { float: left; background: #090; width: 100px; height: 100px; }
#right { background: #C60; width: 100px; height: 100px; float: left; }
#box2 { width: 180px; height: 100px; }
html>body #box2 { width: auto; height: auto; min-width: 180px; min-height: 100px; }
</style>
<body>
<div id="box">
 <div id="left">点击我 看效果!</div>
 <div id="right">fffeeee</div>
</div>
<div style="width:100px; height:100px; background:#969; float:left;" id="dd">dddd</div>
<script>
// 异步请求封装 IE6即以上浏览器
// ajax(url,fnSucc,selectID,fnFaild)
//url 请求地址
//fnSucc 异步请求后的内容处理函数
//fnFaild 请求失败处理函数
function ajax(url,fnSucc,fnFaild)
{
    //1.创建Ajax对象
    //非IE6
    var oAjax;
    if(window.XMLHttpRequest)//不会报错,只会是undefined
     {oAjax=new XMLHttpRequest();}
    else
    //iE6 IE5
     {oAjax=new ActiveXObject("Microsoft.XMLHTTP");}
    //alert(oAjax);
    //2.连接服务器
    //open(方法,文件名,异步传输)
    oAjax.open("get",url,true);//制止缓存
    //3.发送请求
    oAjax.send();
    //4.接收返回值 和服务器通讯的时候此事件发生
    oAjax.onreadystatechange=function()
    {
     //oAjax.readyState //浏览器和服务器,进行到哪一步了 异步握手过程
     if(oAjax.readyState==4)//读取完成(可能文件不存在)
     {
      if(oAjax.status==200 || oAjax.status==304)//请求成功 304即使浏览器缓存了也返回数据
      {
       fnSucc(oAjax.responseText);
       //alert("成功"+oAjax.responseText);
      }
      else
      {
       if(fnFaild)//fnFaild传进来时
       {
        fnFaild(oAjax.status);
       }
       //alert("失败:"+oAjax.status);//status为404
      }
     }
    }
}
window.onload=function(){
  var oBtn=document.getElementById("left");
  oBtn.onclick=function()
  {
      ajax("http://28967904.jsp.jspee.cn/ext/singlePage/list/json-1-1-20",function(str){
        var da= JSON.parse(str); //JSON数据解析
        alert(da.totalRow)
        },function(erorr){
          console.log('请求出错:'+erorr);
        })
  }
}
</script>
</body>
</html>

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JQuery最佳实践之精妙的自定义事件
Aug 11 Javascript
判断是否安装flash player及当前版本的JS代码
Aug 08 Javascript
jQuery实现密保互斥问题解决方案
Aug 16 Javascript
js中回调函数的学习笔记
Jul 31 Javascript
avalon js实现仿微博拖动图片排序
Aug 14 Javascript
Javascript技术难点之apply,call与this之间的衔接
Dec 04 Javascript
JavaScript:Date类型全面解析
May 19 Javascript
jquery设置表单元素为不可用的简单代码
Jul 04 Javascript
浅谈jQuery中ajaxPrefilter的应用
Aug 01 Javascript
js模态对话框使用方法详解
Feb 16 Javascript
echarts实现获取datazoom的起始值(包括x轴和y轴)
Jul 20 Javascript
浅谈在vue-cli3项目中解决动态引入图片img404的问题
Aug 04 Javascript
探索Vue.js component内容实现
Nov 03 #Javascript
javascript跨域请求包装函数与用法示例
Nov 03 #Javascript
预防网页挂马的方法总结
Nov 03 #Javascript
网页挂马方式整理及详细介绍
Nov 03 #Javascript
AngularJS实现在ng-Options加上index的解决方法
Nov 03 #Javascript
AngularJS验证信息框架的封装插件用法【w5cValidator扩展插件】
Nov 03 #Javascript
基于vuejs+webpack的日期选择插件
May 21 #Javascript
You might like
php记录代码执行时间(实现代码)
2013/07/05 PHP
使用PHP把HTML生成PDF文件的几个开源项目介绍
2014/11/17 PHP
JS模拟多线程
2007/02/07 Javascript
jquery 将disabled的元素置为enabled的三种方法
2009/07/25 Javascript
解决jquery操作checkbox火狐下第二次无法勾选问题
2014/02/10 Javascript
jquery实现点击消失的代码
2014/03/03 Javascript
JavaScript分页功能的实现方法
2015/04/25 Javascript
JS实现Fisheye效果动感放大菜单代码
2015/10/21 Javascript
JS实现网页标题栏显示当前时间和日期的完整代码
2015/11/02 Javascript
js判断当前页面用什么浏览器打开的方法
2016/01/06 Javascript
jquery实现简单的遮罩层
2016/01/08 Javascript
Uploadify上传文件方法
2016/03/16 Javascript
vue中$refs的用法及作用详解
2018/04/24 Javascript
Three.js中矩阵和向量的使用教程
2019/03/19 Javascript
解决Vue 刷新页面导航显示高亮位置不对问题
2019/12/25 Javascript
[05:05]第三天的dota2
2013/07/29 DOTA
python监控网卡流量并使用graphite绘图的示例
2014/04/27 Python
Python基于回溯法子集树模板解决0-1背包问题实例
2017/09/02 Python
python深度优先搜索和广度优先搜索
2018/02/07 Python
Python实现动态添加属性和方法操作示例
2018/07/25 Python
Scrapy实现模拟登录的示例代码
2021/02/21 Python
利用css3径向渐变做一张优惠券的示例
2018/03/22 HTML / CSS
英国邮购活的植物主要供应商:Gardening Direct
2019/01/28 全球购物
英国领先的酒杯和水晶玻璃器皿制造商:Dartington Crystal
2019/06/23 全球购物
俄罗斯韩国化妆品网上商店:Cosmasi.ru
2019/10/31 全球购物
2013年入党人员的自我鉴定
2013/10/25 职场文书
管理科学大学生求职信
2013/11/13 职场文书
《最佳路径》教学反思
2014/04/13 职场文书
《欢乐的泼水节》教学反思
2014/04/22 职场文书
保护环境倡议书500字
2014/05/19 职场文书
中国在我心中演讲稿
2014/09/13 职场文书
2014年小班保育员工作总结
2014/12/23 职场文书
村党组织公开承诺书
2015/04/30 职场文书
婚庆开业庆典主持词
2015/06/30 职场文书
2016年秋季运动会加油稿
2015/12/21 职场文书
深入理解以DEBUG方式线程的底层运行原理
2021/06/21 Java/Android