ajax重构XMLHttpRequest

//重构XMLHttpRequestvar net = new Object();  //名字空間對象
net.READY_STATE_UNINITIALIZED = 0;
net.READY_STATE_LOADING = 1;
net.READY_STATE_LOADED = 2;
net.READY_STATE_INTERACTIVE = 3;
net.READY_STATE_COMPLETE = 4;
net.ContentLoader = function(url, onload, onerror) {   //構造函數
    this.url = url;
    this.req = null;
    this.onload = onload;
    this.onerror = (onerror) ? onerror : this.defaultError;
    this.loadXMLDoc(url);
}

net.ContentLoader.prototype = {
    loadXMLDoc: function(url) {  //重新命名的initXMLHttpRequest函數
        if (window.XMLHttpRequest) {   //重構過的loadXML函數
            this.req = new XMLHttpRequest();
        }
        else if (window.ActiveXObject) {
            this.req = new ActiveXObject("Microsoft.XMLHTTP");
        }
        if (this.req) {
            try {
                var loader = this;
                this.req.onreadystatechange = function() {
                    loader.onReadyState.call(loader);
                }
                this.req.open(‘GET‘, url, true); //重構過的sendRequest函數
                this.req.send(null);
            } catch (err) {
                this.onerror.call(this);
            }
        }
    },
    onReadyState: function() {  //重構過的回調函數
        var req = this.req;
        var ready = req.readyState;
        if (ready == net.READY_STATE_COMPLETE) {
            var httpStatus = req.status;
            if (httpStatus == 200 || httpStatus == 0) {
                this.onload.call(this);
            } else {
                this.onerror.call(this);
            }
        }
    },
    defaultError: function() {
        alert("error fetching data!"
        + "\n\nreadyState:" + this.req.readyState
        + "\nstatus:" + this.req.status
        + "\nheaders:" + this.req.getAllResponseHeaders());
    }
}

function myCallBack() {
    alert{this.url
    +" loaded! Here‘s the content:\n\n"
    +this.req.responseText};
}

ajax重构XMLHttpRequest

时间: 2024-10-26 07:04:49

ajax重构XMLHttpRequest的相关文章

详解AJAX核心 —— XMLHttpRequest 对象 (下)

继续上一篇的内容上一篇关于XMLHttpRequest 对象发送对服务器的请求只说到了用Get方式,没有说Post方式的.那是因为要说Post方式就需要先说另外一个东西,那就是DOM(Document Object Model)文档对象模型.JavaScript通过DOM读取.改变或者删除 HTML.XHTML 以及 XML中的元素,可以重构整个 HTML 文档.可以添加.移除.改变或重排页面上的项目,而且这样的操作会马上显示在页面上.另外,所有浏览器执行W3C 发布的 DOM 标准规范,DOM

Ajax 重构的步骤

Ajax重构大致可以分为以下3三个步骤. 一 创建一个单独的JS文件,名称为AjaxRequest.js,并且在该文件中编写重构Ajax 所需的代码具体代码如下:var net = new Object();  // 定义一个全局的变量// 编写构造函数net.AjaxRequest = function(url,onload,onerror,method,params){         this.req = null;         this.onload = onload;       

Ajax重构

Ajax重构简介 Ajax的实现主要依赖于XMLHttpRequest对象,但是在调用其进行异步数据传输时,由于XMLHttpRequest对象的实例在处理事件完成后就会被销毁,所以如果不对该对象进行封装处理,在下次需要调用它的时候就要重新构建,而且每次调用都需要写一大段的代码,使用起来很不方便,虽然现在很多开源的Ajax框架都提供了对XMLHttpRequest对象的封装方案,但是如果应用这些框架,通常需要加载很多额外的资源,这势必会浪费很多服务器资源,不过由于JavaScript脚本语言支持

AJAX入门--- XMLHttpRequest对象的属性和方法

由于刚刚接触到Ajax对其比较陌生,而其中的XMLHttpRequest对象更是未曾听闻.开始学之前,了解一下它的属性和方法为它的使用做下铺垫.本文重点介绍XMLHttpRequest的属性和方法. XMLHttpRequest对象的属性和事件 属性 描述 readyState 表示XMLHttpRequest对象的状态[1] responseText 包含客户端接收到的HTTP相应的文本内容[2] responseXML 服务器响应的XML内容对应的DOM对象[3] status 服务器返回h

详解AJAX核心 —— XMLHttpRequest 对象 (上)

我要说的内容都是非常基础的内容,高手就免看了,如果看了欢迎给点意见啊.新手或者对低层还不是很了解的人可以看看,帮助理解与记忆. XMLHttpRequest 对象是AJAX功能的核心,要开发AJAX程序必须从了解XMLHttpRequest 对象开始. 了解XMLHttpRequest 对象就先从创建XMLHttpRequest 对象开始,在不同的浏览器中创建XMLHttpRequest 对象使用不同的方法: 先看看IE创建XMLHttpRequest 对象的方法(方法1): var xmlht

AJAX - 创建 XMLHttpRequest 对象

XMLHttpRequest 是 AJAX 的基础. XMLHttpRequest 对象 所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject). XMLHttpRequest 用于在后台与服务器交换数据.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. 创建 XMLHttpRequest 对象 所有现代浏览器(IE7+.Firefox.Chrome.Safari 以及 Opera)均内建 XMLHttpRequest

AJAX——核心XMLHttpRequest对象

AJAX——核心XMLHttpRequest对象

一个Ajax的XMLHttpRequest的open方法实例(只能兼容IE10及以上的浏览器)

Ajax的XMLHttpRequest的open方法 <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>浏览器通过JS控制输入的地址参数不同获取服务器内容(只能兼容IE10及以上的浏览器)</title>    <style>        body{font-family: '宋体';

Egret和Http请求 (Ajax、XMLHttpRequest、Post、Get)

一  Http请求 二  AJax和XMLHttpRequest 三  一个Ajax例子 四 Egret中的egret.HttpRequest 五 Post和Get区别 一 Http请求 Http深入浅出  http://www.cnblogs.com/yin-jingyu/archive/2011/08/01/2123548.html http请求返回码  http://blog.chinaunix.net/uid-25311424-id-3052306.html 二 Ajax和XMLHttp