`
cakin24
  • 浏览: 1367941 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

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;
  	this.onerror =(onerror)?onerror:this.defaultError;
  	this.loadDate(url,method,params);
}
// 编写用于初始化XMLHttpRequest 对象并指定处理函数,最后发送HTTP 请求的方法
net.AjaxRequest.prototype.loadDate = function(url,method,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,onerror,“GET”);
}
/ ************************ 回调函数*********************** *************** /
function deal_getInfo()
{
	document.getElementById(“showInfo”).innerHTML = this.req.responseText;
}
</ script>
 
1
0
分享到:
评论

相关推荐

    AJAX重构+级联下拉列表

    总的来说,AJAX重构级联下拉列表是提高Web应用交互性的有效手段,而理解其背后的工作原理和实现方法对于Web开发者来说至关重要。通过这个项目,你可以深入学习AJAX、JavaScript以及前后端交互的相关知识,提升自己的...

    用ajax重构网上书店

    **Ajax重构网上书店** 在现代Web开发中,Ajax(Asynchronous JavaScript and XML)技术已经成为创建交互性强、用户体验优良的网页应用的重要工具。本项目旨在利用Ajax技术对网上书店进行重构,提升用户在浏览、搜索...

    使用Ajax和Web Service重构网上书店(PPT)

    具体实现过程中,Ajax调用Web Service的步骤大致如下: 1. **创建XMLHttpRequest对象**:这是Ajax的基础,JavaScript中通过`new XMLHttpRequest()`创建该对象。 2. **配置请求**:设置HTTP请求方法(GET、POST等)...

    ajax异步上传,后台servlet处理源码

    以下是Servlet处理文件上传的基本步骤: 1. 导入必要的库,如`javax.servlet.http.HttpServletRequest` 和 `java.io.File`。 2. 在`doPost`方法中,使用`HttpServletRequest`的`getParts()`或`getInputStream()`...

    中南大学软件学院架构jpetstore重构

    2. JPetStore重构的关键步骤: - 分析现有代码:理解原有系统的业务逻辑,识别出需要重构的部分。 - 设计新的架构:基于Struts2重新规划应用的结构,确定Action类、Service层和DAO层的职责。 - 实现Struts2配置:...

    重构:改善既有代码的设计_(侯捷译

    6. **技术环境**:虽然书中的许多原则和技术适用于任何编程语言,但标签提到的"ajax asp.net c# ipv6 xml"暗示了本书可能在Web开发的背景下进行了深入讨论,特别是关于ASP.NET、C#等.NET平台技术的重构实践,以及XML...

    AJAX 与 DWR框架

    【Ajax 知识点】 Ajax,全称 Asynchronous JavaScript and XML,是一种在无需重新加载整个网页的情况下,...同时,通过DWR与主流Java框架的集成,开发者可以更方便地在大型项目中引入Ajax技术,而不必重构大量代码。

    .net2005的ajax插件

    3. **易于集成**:与现有的ASP.NET控件无缝配合,无需完全重构现有应用。 4. **跨浏览器支持**:ASP.NET AJAX支持多种浏览器,如Internet Explorer、Firefox、Chrome等。 5. **强大的调试工具**:Visual Studio提供...

    转ajax

    在Struts中实现Ajax功能,主要涉及以下几个步骤: 1. **创建Ajax请求**:在客户端,通过JavaScript创建一个XMLHttpRequest对象(或IE的Microsoft.XMLHTTP ActiveX对象)。这个对象提供了异步发送HTTP请求到服务器的...

    看看如何在Struts应用中施展AJAX魔法

    通过这种方式,你可以在不完全重构应用的前提下,利用AJAX提升Struts应用的用户体验,同时保持系统的稳定性和可维护性。这不仅适用于Struts,也可以推广到其他Java Web框架,因为AJAX的本质是技术而非特定框架的一...

    重构-改善既有代码的设计

    针对这个问题,可以通过以下步骤进行重构: 1. **提取方法**:将查询商品信息的逻辑封装到一个单独的方法中。 2. **分页处理**:在前端页面添加分页功能,每次仅请求一定数量的商品信息,减轻服务器压力。 3. **...

    jQuery AjaxQueue改进步骤

    3. **面向对象的重构**:原先的实现可能是一个简单的函数或闭包,但为了增强可维护性和扩展性,代码被重构为一个面向对象的结构。现在有一个`AjaxQueue`构造函数,它拥有自己的方法如`offer`、`replace`、`poll`、`...

    Ajax入门

    ### Ajax的基本步骤 1. 创建XMLHttpRequest对象。 2. 打开与服务器的连接,使用`open()`方法指定请求类型(GET、POST等)、URL和是否异步执行。 3. 发送请求,使用`send()`方法。如果是GET请求,参数通常为空;如果...

    asp.net 三层架构 ajax局部刷新gridview

    业务逻辑层的设计应尽量独立于其他层,这样可以方便地进行单元测试和重构。 3. **数据访问层**:该层是与数据库交互的地方,它的任务是执行SQL查询、存储过程或者使用ORM(对象关系映射)框架如Entity Framework来...

Global site tag (gtag.js) - Google Analytics