原生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 相关文章推荐
JS实现侧悬浮浮动实例代码
Nov 29 Javascript
js showModalDialog 弹出对话框的简单实例(子窗体)
Jan 07 Javascript
node.js中的fs.lchown方法使用说明
Dec 16 Javascript
Javascript中的arguments与重载介绍
Mar 15 Javascript
jQuery代码实现发展历程时间轴特效
Jul 30 Javascript
JS遍历数组和对象的区别及递归遍历对象、数组、属性的方法详解
Jun 14 Javascript
浅谈vue+webpack项目调试方法步骤
Sep 11 Javascript
Webpack优化配置缩小文件搜索范围
Dec 25 Javascript
JS实现十分钟倒计时代码实例
Oct 18 Javascript
微信小程序实现商品属性联动选择
Feb 15 Javascript
三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)
Jun 21 Javascript
JS实现TITLE悬停长久显示效果完整示例
Feb 11 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跳出循环的方法以及continue、break、exit的区别介绍
2013/07/01 PHP
分享下页面关键字抓取components.arrow.com站点代码
2014/01/30 PHP
使用phpstorm和xdebug实现远程调试的方法
2015/12/29 PHP
阿里云Win2016安装Apache和PHP环境图文教程
2018/03/11 PHP
prototype 学习笔记整理
2009/07/17 Javascript
javascript Base类 包含基本的方法
2009/07/22 Javascript
模拟select的代码
2011/10/19 Javascript
window.open以post方式将内容提交到新窗口
2012/12/26 Javascript
js弹出层(jQuery插件形式附带reLoad功能)
2013/04/12 Javascript
javascript实现图片上传前台页面
2015/08/18 Javascript
jquery动态导航插件dynamicNav用法实例分析
2015/09/06 Javascript
jQuery实现点击小图片淡入淡出显示大图片特效
2015/09/09 Javascript
深入浅析JavaScript中的作用域和上下文
2016/03/26 Javascript
jquery计算出left和top,让一个div水平垂直居中的简单实例
2016/07/13 Javascript
详解Javascript中prototype属性(推荐)
2016/09/03 Javascript
利用jquery实现实时更新歌词的方法
2017/01/06 Javascript
AngularJS入门教程二:在路由中传递参数的方法分析
2017/05/27 Javascript
了解VUE的render函数的使用
2017/06/08 Javascript
jQuery实现table表格checkbox全选的方法分析
2018/07/04 jQuery
ES6知识点整理之函数数组参数的默认值及其解构应用示例
2019/04/17 Javascript
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)
2019/12/04 Javascript
javascript代码实现简易计算器
2021/01/25 Javascript
通过C++学习Python
2015/01/20 Python
python optparse模块使用实例
2015/04/09 Python
利用Python如何生成hash值示例详解
2017/12/20 Python
解决django中ModelForm多表单组合的问题
2019/07/18 Python
python制作英语翻译小工具代码实例
2019/09/09 Python
浅谈pandas.cut与pandas.qcut的使用方法及区别
2020/03/03 Python
个人求职信范文分享
2014/01/06 职场文书
百年校庆节目主持词
2014/03/27 职场文书
《和田的维吾尔》教学反思
2014/04/14 职场文书
含预算的公司户外活动方案
2014/08/16 职场文书
简历中的自我评价怎么写呢?
2019/04/30 职场文书
详解如何修改nginx的默认端口
2021/03/31 Servers
python读取pdf格式文档的实现代码
2021/04/01 Python
分析ZooKeeper分布式锁的实现
2021/06/30 Java/Android