原生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 相关文章推荐
网页里控制图片大小的相关代码
Jun 25 Javascript
基于JQuery的数字改变的动画效果--可用来做计数器
Aug 11 Javascript
40款非常棒的jQuery 插件和制作教程(系列二)
Nov 02 Javascript
JS自调用匿名函数具体实现
Feb 11 Javascript
基于Css3和JQuery实现打字机效果
Aug 11 Javascript
浅析AngularJS中的指令
Mar 20 Javascript
node.js中express-session配置项详解
May 31 Javascript
详解webpack介绍&amp;安装&amp;常用命令
Jun 29 Javascript
Vue组件中prop属性使用说明实例代码详解
May 31 Javascript
JS实现图片转换成base64的各种应用场景实例分析
Jun 22 Javascript
新手快速入门JavaScript装饰者模式与AOP
Jun 24 Javascript
原生JS实现烟花效果
Mar 10 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
法国:浪漫之都的咖啡文化
2021/03/03 咖啡文化
phpfans留言版用到的install.php
2007/01/04 PHP
PHP开发框架总结收藏
2008/04/24 PHP
PHP 木马攻击防御技巧
2009/06/13 PHP
php Hex RGB颜色值互换的使用
2013/05/10 PHP
Yii2主题(Theme)用法详解
2016/07/23 PHP
Laravel 登录后清空COOKIE的操作方法
2019/10/14 PHP
解决AJAX中跨域访问出现'没有权限'的错误
2008/08/20 Javascript
js实现点小图看大图效果的思路及示例代码
2013/10/28 Javascript
jquery改变disabled的boolean状态的三种方法
2013/12/13 Javascript
IE6已终止操作问题的2种情况及解决
2014/04/23 Javascript
jquery实现更改表格行顺序示例
2014/04/30 Javascript
js实现滑动触屏事件监听的方法
2015/05/05 Javascript
JavaScript弹窗基础篇
2016/04/27 Javascript
jQuery+CSS实现一个侧滑导航菜单代码
2016/05/09 Javascript
浅谈JS之tagNaem和nodeName
2016/09/13 Javascript
js判断浏览器是否支持严格模式的方法
2016/10/04 Javascript
微信小程序自定义底部弹出框
2020/11/16 Javascript
浅谈laytpl 模板空值显示null的解决方法及简单的js表达式
2019/09/19 Javascript
Element-Ui组件 NavMenu 导航菜单的具体使用
2019/10/24 Javascript
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
2020/02/04 jQuery
微信小程序 scroll-view的使用案例代码详解
2020/06/11 Javascript
three.js欧拉角和四元数的使用方法
2020/07/26 Javascript
PyQt5实现下载进度条效果
2018/04/19 Python
python 读取文件并把矩阵转成numpy的两种方法
2019/02/12 Python
谈一谈基于python的面向对象编程基础
2019/05/21 Python
django迁移数据库错误问题解决
2019/07/29 Python
django-orm F对象的使用 按照两个字段的和,乘积排序实例
2020/05/18 Python
Python logging模块异步线程写日志实现过程解析
2020/06/30 Python
html5使用Drag事件编辑器拖拽上传图片的示例代码
2017/08/22 HTML / CSS
人事主管岗位职责
2014/01/30 职场文书
司法局火灾防控方案
2014/06/05 职场文书
村党支部群众路线教育实践活动对照检查材料
2014/09/26 职场文书
2014年医院工作总结
2014/11/20 职场文书
golang 实现对Map进行键值自定义排序
2021/04/28 Golang
DIV CSS实现网页背景半透明效果
2021/12/06 HTML / CSS