`
darkma
  • 浏览: 521534 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类

Ajax 实例化封装

阅读更多

function AjaxUtil(){
}

/**
 * 实例化request对象
 */
AjaxUtil.instanceRequest = function() {
 var _httpRequest = null;
 // 开始初始化XMLHttpRequest对象
 if(window.XMLHttpRequest) { // FireFox 浏览器
    _httpRequest = new XMLHttpRequest();
    if (_httpRequest.overrideMimeType) {// 设置MiME类别
     _httpRequest.overrideMimeType('text/xml');
    }
 }else if (window.ActiveXObject) { // IE浏览器
    try {
        _httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
                _httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {}
    }
 }
 if (!_httpRequest) { // 异常,创建对象实例失败
   window.alert("不能创建XMLHttpRequest对象实例.");
 }
 return _httpRequest;
}

/**
 * 发送请求
 *
 * @param $method
 *            "GET/POST"
 * @param $url
 *            请求路径
 * @param $isAsync
 *      "true/false"
 * @param $params
 *            请求参数
 * @param $processMethod
 *            处理(请求结果的)方法
 */
AjaxUtil.sendRequest = function($method, $url, $isAsync, $params, $processMethod) {
 try {
  // 实例化请求
  var requestObj = AjaxUtil.instanceRequest();
  if (requestObj != null) {
   requestObj.onreadystatechange = processRequest;
   requestObj.open($method, $url, $isAsync);
   requestObj.send($params);
  }
  
  // 处理请求
  function processRequest(){
   if (requestObj.readyState == 4) {
    if (requestObj.status == 200) {
     // 执行目标方法
     eval($processMethod);
    }
   }
  }
 } catch (e) {
  alert(e.description);
 }  
}

分享到:
评论

相关推荐

    Typescript中的属性类型接口【案例】 定义Ajax请求数据的接口 ts封装ajax.zip

    typescript模块化知识代码实例

    AJAX基础概念、核心技术与典型案例(内涵动态实例)

    程序描述:本章使用Prototype封装的Ajax对象实现上传文件时显示进度条的功能。当上传文件时,客户端同时显示文件上传的进度,从而及时了解文件传送情况。 /test.html 上传文件 /periodcal.jsp 上传文件...

    原生JavaScript实现AJAX、JSONP

    相信大多数前端开发者在需要与后端进行数据交互时,为了方便快捷,都会选择JQuery... 实例化XMLHttpRequest对象 连接服务器 发送请求 接收响应数据 我将AJAX请求封装成ajax()方法,它接受一个配置对象params。 func

    vue简单封装axios插件和接口的统一管理操作示例

    本文实例讲述了vue简单封装axios插件和接口的统一管理操作。分享给大家供大家参考,具体如下: 现在很多公司的项目都是前后端分离的项目,那么说到前后端分离,必定会有ajax请求来获得后台的数据。 在做jquery项目的...

    js轮播图的插件化封装详解

    本文实例为大家分享了js轮播图的插件化封装代码,供大家参考,具体内容如下 具体代码如下: ~function(){ function AutoBanner(curEleId,ajaxURL,interval){ //把之前存储获取元素的变量都作为当前实例的私有属性 ...

    JS基于设计模式中的单例模式(Singleton)实现封装对数据增删改查功能

    本文实例讲述了JS基于设计模式中的单例模式...单例模式定义:“一个类有且仅有一个实例,并且自行实例化向整个系统提供。” var Singleton = (function(){ SingletonClass() { } var singleton = null; return

    JAVA上百实例源码以及开源项目

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    javascript使用Promise对象实现异步编程

    Promise对象是CommonJS工作组为异步编程...Promise是ES6之后原生的对象,我们只需要实例化Promise对象就可以直接使用。 实例化Promise: var promise = new Promise(function (resolve, reject) { console.log('beg

    非常好用的分页插件

    可以设置一页显示多少数据,支持按钮点击翻页,也支持手动输入翻页,已自动封装ajax,只需初始化的时候实例化一下,真的是傻瓜式操作,易上手,非常简单。

    JAVA上百实例源码以及开源项目源代码

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    GridManager:表格组件GridManager

    快速、灵活的对Table标签进行实例化,让Table标签充满活力。 优势 在支持常见功能的前提下,提供了如: 导出、打印、列配置、右键菜单、行列移动、用户偏好记忆等提升用户体验的功能。 内置基础类库jTool, 对原生DOM...

    java web技术开发大全(最全最新)

    和已经出版的同类图书相比,《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》讲解由浅入深,涵盖更多内容,列举了大量典型实例具有超强的实用性,另外,《Java Web开发技术大全:JSP+Servlet+...

    java web开发技术大全

    和已经出版的同类图书相比,《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》讲解由浅入深,涵盖更多内容,列举了大量典型实例具有超强的实用性,另外,《Java Web开发技术大全:JSP+Servlet+...

    jquery 资料合集 实例

    jquery 资料合集 实例  jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多javascript高手加入其team,包括来自德国的Jörn Zaefferer,罗马尼亚的Stefan Petre等等。  jQuery是继prototype之后又...

    《Java-Web应用开发基础》教学课件08课程设计实例.pptx

    自己定义的Servlet过滤器必须具体化这3个抽象方法。 《Java-Web应用开发基础》教学课件08课程设计实例全文共73页,当前为第11页。 8.4设 计 过 程 8.4.1数据库及数据表的设计 在MySQL中建一个数据库,命名为...

    仿中关村在线参数修改弹出对话框源码

    仿中关村在线参数修改弹出对话框源码 程序描述: ...如果在ascx控件页面上实现则对话框控件中执行的操作太多并且可能在ascx控件页面实例化多个Bll对象(2011-10-21) 4.当使用Jqurey时Button单击事件不执行

    仿中关村在线参数修改弹出对话框 v1.1源码

    如果在ascx控件页面上实现则对话框控件中执行的操作太多并且可能在ascx控件页面实例化多个Bll对象(2011-10-21) 4.当使用Jqurey时Button单击事件不执行 5.验证控件VerificationAsc.ascx中的“尖角居中”的CSS样式在IE...

    亮剑.NET深入体验与实战精要2

    本书集实用性、思想性、趣味性于一体,内容共分为技术基础总结、系统架构设计思想及项目实战解析三部分,随书所附光盘收录大量实例代码及独家披露的商业系统,供读者参考学习。 本书适合于.NET初、中级开发人员参考...

Global site tag (gtag.js) - Google Analytics