原生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 23 Javascript
js实现文本框输入文字个数限制代码
Dec 25 Javascript
原生javascript实现图片放大镜效果
Jan 18 Javascript
简单的JS控制button颜色随点击更改的实现方法
Apr 17 Javascript
对于input 框限定输入值为浮点型的js代码
Sep 25 Javascript
详解ajax的data参数错误导致页面崩溃
Apr 30 Javascript
AngularJs分页插件使用详解
Jun 30 Javascript
基于webpack4搭建的react项目框架的方法
Jun 30 Javascript
为jquery的ajax请求添加超时timeout时间的操作方法
Sep 04 jQuery
微信公众号H5之微信分享常见错误和问题(小结)
Nov 14 Javascript
javascript实现简单页面倒计时
Mar 02 Javascript
浅谈 JavaScript 沙箱Sandbox
Nov 02 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
easyui的tabs update正确用法分享
2014/03/21 PHP
php在线解压ZIP文件的方法
2014/12/30 PHP
ThinkPHP自定义Redis处理SESSION的实现方法
2016/05/16 PHP
Laravel中encrypt和decrypt的实现方法
2017/09/24 PHP
jQuery链式操作如何实现以及为什么要用链式操作
2013/01/17 Javascript
Javascript中 关于prototype属性实现继承的原理图
2013/04/16 Javascript
checkbox设置复选框的只读效果不让用户勾选
2013/08/12 Javascript
js中settimeout方法加参数
2014/02/28 Javascript
DOM基础教程之使用DOM设置文本框
2015/01/20 Javascript
jQuery抛物线运动实现方法(附完整demo源码下载)
2016/01/08 Javascript
前端js实现文件的断点续传 后端PHP文件接收
2016/10/14 Javascript
微信小程序 loading(加载中提示框)实例
2016/10/28 Javascript
JS验证字符串功能
2017/02/22 Javascript
JS与jQuery实现子窗口获取父窗口元素值的方法
2017/04/17 jQuery
ReactNative中使用Redux架构总结
2017/12/15 Javascript
微信小程序webview组件交互,内联h5页面并网页实现微信支付实现解析
2019/08/16 Javascript
jsonp格式前端发送和后台接受写法的代码详解
2019/11/07 Javascript
python中map、any、all函数用法分析
2015/04/21 Python
python查询sqlite数据表的方法
2015/05/08 Python
python读取word文档的方法
2015/05/09 Python
Python实现字典的key和values的交换
2015/08/04 Python
python实现在函数中修改变量值的方法
2019/07/16 Python
如何用python写个模板引擎
2021/01/14 Python
美国价格实惠的在线眼镜网站:Zeelool
2020/12/25 全球购物
德国亚马逊官方网站:Amazon.de
2020/11/15 全球购物
英文自我鉴定
2013/12/10 职场文书
先进事迹报告会感言
2014/01/24 职场文书
小溪流的歌教学反思
2014/02/13 职场文书
少先队学雷锋活动月总结
2014/03/09 职场文书
乔丹名人堂演讲稿
2014/05/24 职场文书
2014镇副书记群众路线专题民主生活会思想汇报
2014/09/23 职场文书
2014年大学宣传部工作总结
2014/12/19 职场文书
如何书写公司员工保密协议?
2019/06/27 职场文书
MySQL数据库 任意ip连接方法
2022/05/20 MySQL
python可视化分析绘制带趋势线的散点图和边缘直方图
2022/06/25 Python
zabbix如何添加监控主机和自定义监控项
2022/08/14 Servers