加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ajax 重构的步骤

发布时间:2020-12-16 03:29:08 所属栏目:百科 来源:网络整理
导读:Ajax重构大致可以分为以下3三个步骤。 一 创建一个单独的JS文件,名称为AjaxRequest.js,并且在该文件中编写重构Ajax 所需的代码 具体代码如下: var net = new Object(); // 定义一个全局的变量// 编写构造函数net.AjaxRequest = function(url,onload,onerror
Ajax重构大致可以分为以下3三个步骤。
一 创建一个单独的JS文件,名称为AjaxRequest.js,并且在该文件中编写重构Ajax 所需的代码
具体代码如下:
var net = new Object();  // 定义一个全局的变量
// 编写构造函数
net.AjaxRequest = function(url,onload,onerror,method,params)
{
	this.req = null;
	this.onload = onload;
  	this.onerror =(onerror)?onerror:this.defaultError;
  	this.loadDate(url,params);
}
// 编写用于初始化XMLHttpRequest 对象并指定处理函数,最后发送HTTP 请求的方法
net.AjaxRequest.prototype.loadDate = function(url,params)
{
  	if(!method)   // 设置默认的请求方式为GET
  	{
    	method =“GET”;                                                             
  	}
  	if(window.XMLHttpRequest)
  	{                                                   // 非IE 浏览器
    	this.req = new XMLHttpRequest();   // 创建XMLHttpRequest 对象                                         
  	} 
  	else if(window.ActiveXObject)
  	{                                       // IE 浏览器
     	try
     	{
        	this.req = new ActiveXObject(“Microsoft.XMLHTTP”);    // 创建XMLHttpRequest 对象
        } 
        catch(e)
        {
             try
             {
             	this.req = new ActiveXObject(“Msxml2.XMLHTTP”); // 创建XMLHttpRequest 对象
             } 
             catch(e)
             {
             }
         }
  	}
  	if(this.req)
  	{
    	try
    	{
      		var loader = this;
      		this.req.onreadystatechange = function()
      		{
        		net.AjaxRequest.onReadyState.call(loader);
      		}
      		this.req.open(method,url,true);          // 建立对服务器的调用
        	if(method ==“POST”)
        	{                // 如果提交方式为POST
            	this.req.setRequestHeader(“Content-Type”,“application / x-www-form-urlencoded”);    // 设置请求的内容类型
            	this.req.setRequestHeader(“x-requested-with”,“ajax”);    // 设置请求的发出者
        	}
      		this.req.send(params);                                                  // 发送请求
    	} 
    	catch(err)
    	{
      		this.onerror.call(this);                                            // 调用错误处理函数
    	}
  	}
}
 
// 重构回调函数
net.AjaxRequest.onReadyState = function()
{
  	var req = this.req;
  	var ready = req.readyState;                                             // 获取请求状态
  	if(ready == 4)
  	{                                                             // 请求完成
    	if(req.status == 200)
    	{                                                // 请求成功
        	this.onload.call(this);
        }
        else
        {
            this.onerror.call(this);                                    // 调用错误处理函数
        }
  	}
}
// 重构默认的错误处理函数
net.AjaxRequest.prototype.defaultError = function()
{
	alert(“ 错误数据 n  n 回调状态:”+ this.req.readyState +“ n 状态:”+ this.req.status);
}
二 在需要应用Ajax 的页面中应用以下的语句包括步骤一中创建的JS 文件
<script language =“javascript”src =“AjaxRequest.js”> </ script>
三 在应用Ajax 的页面中编写错误处理的方法,实例化Ajax 对象的方法和回调函数
具体代码如下:
<script language =“javascript”>
/ ****************** 错误处理的方法*************************** *********** /
function onerror()
{
	alert(“ 您的操作有误!”);
}
/ ****************** 实例化Ajax 对象的方法*********************** ****** /
function getInfo()
{
	var loader = new net.AjaxRequest(“getInfo.jsp?nocache =”+ new Date().getTime(),deal_getInfo,“GET”);
}
/ ************************ 回调函数*********************** *************** /
function deal_getInfo()
{
	document.getElementById(“showInfo”).innerHTML = this.req.responseText;
}
</ script>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读