ajax小结

昨天笔试,杯具,SQL的问题,最近工作以web为主,SQL都三四个月没用了......

ajax 小结

/* 2010.11.11  ajax js部分操作 */

$(document).ready(function () {
	ajaxRequest = getAjaxObject();//获取XMLHttpRequest对象
	$("#buttonTag").click(function () {
		getInfo();
	});//初始化事件
});
//XMLHttpRequest对象
var ajaxRequest;
var getInfo = function () {//ajax 操作
	sendRequestByAjax("get", "servlet/testAjax.ajax", null, doResponse);
};
//发送请求
function sendRequestByAjax(method, url, data, dataHandler) {
	//设置当服务器数据返回后,处理服务器返回数据的js函数,这里处理函数名称是以参数形式给出
	ajaxRequest.onreadystatechange = dataHandler;
	//与指定的url地址建立连接
	//第一个参数可以选择传递为Post或者Get,表示请求方式
	//第二个参数表示请求的服务器地址
	//第三个参数如果为true,异步操作,如果为false,则为同步操作(同步请求将锁住浏览器)
        ajaxRequest.open(method, url, true);
	//如果是以post方式发送数据,则必须加上如下代码,否则服务器将会收不到数据
	if ("post" == method.toLowerCase()) {
		ajaxRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	}
	//开始发送数据,data的数据格式为:name=zhang&money=10000
	ajaxRequest.send(data);
}
//接收请求
function doResponse() {
  	//当服务器将数据返回给客户端时,readyState状态值为4
  	//0 - (未初始化)还没有调用send()方法 
	//1 - (载入)已调用send()方法,正在发送请求 
	//2 - (载入完成)send()方法执行完成,已经接收到全部响应内容 
	//3 - (交互)正在解析响应内容 
	//4 - (完成)响应内容解析完成,可以在客户端调用了 
	if (ajaxRequest.readyState == 4) {
   		//当服务器返回的数据是正常的数据时,status状态值为200
   		//200 - OK 一切正常,对GET和POST请求的应答文档跟在后面。
   		//404 - Not Found 无法找到指定位置的资源。这也是一个常用的应答。 
   		//500 - Internal Server Error 服务器遇到了意料不到的情况,不能完成客户的请求。
		if (ajaxRequest.status == 200) {
    		//通过XMLHttpRequest对象的responseText属性获取服务器返回的文本信息
			var returnMsg = ajaxRequest.responseText;
			alert(returnMsg);
		}else{
			alert("error");
		}
	}
}
//获取ajax 操作对象
function getAjaxObject() {
	var xmlHttpRequest;
	if (window.ActiveXObject) {//IE
			//操作原因同下面的 CreateHTTP()
			try {
				xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e) {
				try {
					xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (e) {
				}
			}
	}else if (window.XMLHttpRequest) {//Mozilla
		xmlHttpRequest = new XMLHttpRequest();
	}
	return xmlHttpRequest;
}
//获取ajax 操作对象
function CreateHTTP() {
	if (window.XMLHttpRequest) {//Firefox
		return (new XMLHttpRequest());
	}
	//这里arr_t 对应是的IE下几种XMLHTTP版本的,目的是创建尽可能高版本的XMLHTTP对象 
	var arr_t = new Array("MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP.2.6", "Microsoft.XMLHTTP", "MSXML.XMLHTTP");
	for (var i = 0; i < arr_t.length; i++) {
		try {
			return (new ActiveXObject(arr_t[i]));
		}
		catch (e) {
		}
	}
	return (null);
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值