Ajax对象杂谈

对于Ajax技术现在很多人都不陌生了,习惯了用ExtJS或Jquery等JS库封装的Ajax。记得哪天朋友问题怎样手动创建一个XMLHttpRequest 对象?愣了半分钟,还是写一写吧。

var xmlhttp;
function createRequest() {
    if (window.ActiveXObject) {
	// code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else if (window.XMLHttpRequest) {
	// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    }
}
createRequest();
function sendRequest()
{
	if(xmlhttp)
	{
		xmlhttp.open("GET", url, true);
		xmlhttp.send(null);
		xmlhttp.onreadystatechange = getRequestAndManager;
	}
}

function getRequestAndManager()
{
	if (xmlhttp_request.readyState == 4) {// 收到完整的服务器响应
		if (xmlRequest.status == 200) {
			var requestReturnStr = xmlhttp.responseText;
			var json = eval("("+requestReturnStr+")");
			
		}
	} 
}

与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。如果不需要使用缓存数据可以在URL后面添加一个时间戳,以保证每次请求的数据都和服务器保持一致。

 然而,在以下情况中,请使用 POST 请求:

  • 无法使用缓存文件(更新服务器上的文件或数据库)
  • 向服务器发送大量数据(POST 没有数据量限制)
  • 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值