`
itace
  • 浏览: 181593 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

自定义ajax

    博客分类:
  • js
阅读更多
//去重
String.prototype.trim=function(){return this.replace(/(^\s*)|(\s*$)/g, "");};
//ID
I=function(ID){return document.getElementById(ID);};
//name
N=function(name){return document.getElementsByName(name);};
//tag
T=function(tag){return document.getElementsByTagName(tag);};
//class--IE8及之前不支持
//C=function(classname){return document.getElementsByClassName(classname);};


/***-------ajax封装-------***/
/**
 * 
 * ajax XMLHttpRequest对象
 * 
 */
function createXmlHttpRequest(){
	var xmlHttpRequest;
	try {
		// code for IE7+, Firefox, Chrome, Opera, Safari
		xmlHttpRequest=new XMLHttpRequest();
	} catch (e) {
		try {
			xmlHttpRequest=new ActiveXObject("Msxml2.XMLHTTP");	
		} catch (ee) {
			try {
				// code for IE6, IE5
				xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP");
			} catch (eee) {
				alert("explorer cannot support!");
				return false;
			}
		}
	}
	return xmlHttpRequest;
}
/**
 *   ajax对象
 */
Ajax=function(){
	this.method="POST";
	this.url="";//url 参数是服务器上文件的地址,该文件可以是任何类型的文件
	this.async="true";//true表示异步,false表示同步,不需要 onreadystatechange 函数,把xmlhttp.responseText;代码放到 send()语句后面
	this.param="";//send(string);string--仅用于 POST 请求
	this.resultType="text";//responseText--字符串,responseXML--获得 XML 形式的响应数据
	
};
/**
 * 
 * @param ajax异步请求操作
 * 
 */
function ajaxAsync(ajax){
	if(ajax instanceof Ajax){
		var content=null;
		var param=null;
		var xmlHttpRequest=createXmlHttpRequest();
		xmlHttpRequest.onreadystatechange=function(){
			if (xmlHttpRequest.readyState==4 && xmlHttpRequest.status==200) {
				var type=ajax.resultType;
				if(type=="xml"){
					//---1
					content=xmlHttpRequest.responseXML;
					//---2
//					content=xmlHttpRequest.responseText;
//					var parser = new DOMParser();
//					content = parser.parseFromString(content, 'text/xml');
				}else{
					content=xmlHttpRequest.responseText;
				}
				ajaxCallBack(content);
			}
		};
		xmlHttpRequest.open(ajax.method,ajax.url,ajax.async);
		xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		if(ajax.method=="POST"&&ajax.param!=""){
			param=ajax.param;
		}
		xmlHttpRequest.send(param);
    }
}
/**
 * ajax回调函数--可以覆盖
 * @param content
 */
function ajaxCallBack(content){
	alert(content);
}



 

分享到:
评论

相关推荐

    自定义Ajax框架,struts框架的模拟,特效代码

    在IT行业中,构建一个自定义Ajax框架和模拟Struts框架是一项高级技能,涉及到Web开发的核心技术。Ajax(Asynchronous JavaScript and XML)是一种用于创建快速、动态网页的技术,它允许页面在不重新加载整个页面的...

    JSF2.0实战 - 10、自定义Ajax更新方式

    3. **自定义Ajax行为**:默认的`<f:ajax>`可能无法满足所有需求,因此,开发者有时需要自定义Ajax行为。这通常涉及到创建自定义事件监听器或扩展`javax.faces.event.AjaxBehaviorListener`接口,以实现特定的逻辑。 ...

    自定义AJAX对话框

    在网页开发中,自定义AJAX对话框是一种常见的交互设计技术,它允许用户与服务器进行异步通信,而无需刷新整个页面。这种技术极大地提升了用户体验,因为它使得数据的加载和处理更加流畅,减少了用户等待时间。本文将...

    静态文件服务器类似于live-server支持自定义ajax请求路径mock数据

    静态文件服务器,类似于live-server,支持自定义ajax请求路径mock数据

    自定义Ajax.NET出发方式和指定调用服务器端函数 C#实例

    的客户端触发方式(onclick,onmouseover,onkeydown...),和调用任意的服务器端自定义函数。 而微软的Ajax.net似乎只能使用服务器控件的很少的事件,最常用的就是Button的onclick事件, 而服务器端的函数也似乎只能是...

    使用XMLHTTPRequest实现自定义ajax。javascript闭包模式写法。值的学习

    本教程将深入讲解如何使用XMLHTTPRequest来实现自定义的Ajax请求,并探讨JavaScript的闭包模式。 首先,让我们理解XMLHTTPRequest对象的工作原理。它主要有五个状态(0-4),分别代表不同的通信阶段。状态0表示请求...

    ajax控件技术--自定义的ajax控件

    自定义AJAX控件通常是为了满足特定的业务需求或功能增强。这些控件可以是按钮、下拉框、日历等常见UI元素的增强版本,也可以是完全创新的交互组件。开发自定义AJAX控件涉及以下几个步骤: 1. **需求分析**:明确...

    jQuery DataTables插件自定义Ajax分页实例解析

    在本篇文章中,我们主要探讨了如何利用jQuery DataTables插件实现自定义Ajax分页功能。DataTables是一个强大的jQuery插件,它可以轻松地将普通的HTML表格转化为具有高级控制功能的表格,例如搜索、排序、分页等。在...

    详解自定义ajax支持跨域组件封装

    自定义ajax支持跨域组件封装 本篇文章详细分析了自定义ajax支持跨域组件封装相关的知识点,对此有兴趣的朋友参考学习下。 Class.create()分析 Class.create()是一个创建类的方法,通过这个方法可以创建一个新的类...

    layui自定义ajax左侧三级菜单

    本文实例为大家分享了layui自定义ajax左侧三级菜单的具体代码,供大家参考,具体内容如下 HTML代码: 需引入layui.css代码 <!-- 左侧的菜单 --> <!-- 右侧tab选项卡和内容 --> <div class=...

    JSP中使用EXT实现grid table

    EXT 提供了一种优雅的方式来展示和操作数据,尤其适用于创建交互式的Web应用程序,如Ajax驱动的数据表格。Ajax技术使得页面无需刷新就能获取和更新数据,提高了用户体验。 首先,让我们深入了解一下EXT Grid。EXT ...

    ajax联动

    通常,这些示例会展示如何使用UpdatePanel、Timer控件或者自定义Ajax函数来实现页面部分的异步更新。例如,一个简单的用户输入验证,当用户在文本框中输入内容时,无需提交表单,即可实时检查输入的有效性。 ### 4....

    深入浅出Ajax(Head Rush Ajax) 源码 书中代码

    - 自定义Ajax库的构建 - 插件和扩展机制 6. **第六章:高级Ajax技术** - JSONP跨域请求 - WebSocket和Server-Sent Events (SSE) - 文件上传与进度指示 7. **第七章:Ajax实战** - 实例分析和项目应用 - ...

    完全手册:ASP.net.Ajax电子教程

    - **客户端脚本编程**:通过JavaScript API,开发者可以自定义AJAX行为,如调用Web服务、处理异步回调等。 - **Partial Page Rendering**:ASP.NET AJAX实现了部分页面渲染,减少了页面重绘的开销,提高了用户体验...

    .net上ajax的实例

    除了使用内置控件,开发者还可以自定义Ajax处理程序,例如使用PageMethods或HttpHandler,以实现更复杂的需求。 **Chapter 11: 响应式设计与Ajax** 在响应式设计中,Ajax可以改善移动设备的用户体验,通过动态加载...

    Ajax分页 Asp.net 分页

    在Asp.net中,我们可以使用多种方式实现Ajax分页,如jQuery的Ajax功能、ASP.NET AJAX Control Toolkit中的Paging控件,或者自定义Ajax分页组件。这里我们将主要讨论使用jQuery Ajax和Asp.net MVC或Web Forms的方式。...

    asp.net+Ajax 完美结合(附源代码)

    源代码通常会包含示例项目,展示如何在实际开发中结合ASP.NET和AJAX技术,包括UpdatePanel的使用、AJAX调用Web服务、自定义AJAX行为以及验证等各个方面。通过研究和实践这些代码,开发者可以更深入地理解这两种技术...

    MicrosoftAjax.js 实现Ajax类库

    10. **扩展性**:MicrosoftAjax.js提供了丰富的API,允许开发者自定义Ajax行为,如创建自定义的Ajax控件、扩展Ajax功能等。 总的来说,MicrosoftAjax.js为.NET开发者提供了一个强大且易用的Ajax实现工具,使得在ASP...

Global site tag (gtag.js) - Google Analytics