热门关键字:
jquery > jquery教程 > javascript > 原生javascript仿jquery实现ajax和ajaxPost方法

原生javascript仿jquery实现ajax和ajaxPost方法

3660
作者:管理员
发布时间:2013/11/13 0:20:20
评论数:0
转载请自觉注明原文:http://www.jq-school.com/Show.aspx?id=364

一有空就喜欢到处乱逛网站,看到好的东西都习惯整理出来分享,今天又看到了一个好的javascript脚本,仿jquery实现ajax和ajaxPost方法,于是就把它整理分享到JquerySchool网站上了,多的不讲啦,直接看源码吧。。。

function ajax(url, fnOnSucc, fnOnFaild)
{
	var oAjax=null;
	
	//1.初始化Ajax对象
	if(window.ActiveXObject)
	{
		oAjax=new ActiveXObject("Msxml2.XMLHTTP")||new ActiveXObject("Microsoft.XMLHTTP");
	}
	else
	{
		oAjax=new XMLHttpRequest();
	}
	
	//2.建立连接
	oAjax.open('get', url, true);
	
	//3.监控请求状态
	oAjax.onreadystatechange=function ()
	{
		//readyState->Ajax对象内部的状态
		//status->服务器返回的请求结果
		if(oAjax.readyState==4)
		{
			//alert('请求完成,请求结果是:'+oAjax.status);
			//alert(oAjax.responseText);
			if(oAjax.status==200)
			{
				if(fnOnSucc)
				{
					fnOnSucc(oAjax.responseText);
				}
			}
			else
			{
				if(fnOnFaild)
				{
					fnOnFaild(oAjax.status);
				}
			}
		}
		//alert(oAjax.readyState);
		//alert(typeof oAjax.status);
	};
	
	//4.发送请求
	oAjax.send();
	
	//5.*清理
	//oAjax.onreadystatechange=null;
	//oAjax=null;
}

function ajaxPost(url, sData, fnOnSucc, fnOnFaild)
{
	var oAjax=null;
	
	//1.初始化Ajax对象
	if(window.ActiveXObject)
	{
		oAjax=new ActiveXObject("Msxml2.XMLHTTP")||new ActiveXObject("Microsoft.XMLHTTP");
	}
	else
	{
		oAjax=new XMLHttpRequest();
	}
	
	//2.建立连接
	oAjax.open('post', url, true);
	
	//3.监控请求状态
	oAjax.onreadystatechange=function ()
	{
		//readyState->Ajax对象内部的状态
		//status->服务器返回的请求结果
		if(oAjax.readyState==4)
		{
			//alert('请求完成,请求结果是:'+oAjax.status);
			//alert(oAjax.responseText);
			if(oAjax.status==200)
			{
				if(fnOnSucc)
				{
					fnOnSucc(oAjax.responseText);
				}
			}
			else
			{
				if(fnOnFaild)
				{
					fnOnFaild(oAjax.status);
				}
			}
		}
		//alert(oAjax.readyState);
		//alert(typeof oAjax.status);
	};
	
	//4.发送请求
	oAjax.setRequestHeader('content-type', 'urlencode');
	oAjax.send(sData);
	
}





如果您觉得本文的内容对您的学习有所帮助:支付鼓励



关键字:javascript jquery ajax ajaxPost 无刷新技术
友荐云推荐