可以直接把以下代码放在一个外部js文件当中,以便使用。
var xmlRequest;
function createXMLRequest() {
//判断是否是IE如果是就创建IE对应的XMLHttpRequest对象
if (window.ActiveXObject) {
try {
xmlRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
} else if (window.XMLHttpRequest) {//判断是否是DOM浏览器如果是就创建对应的XMLHttpRequest对象
if(xmlRequest){
return;
}
xmlRequest = new XMLHttpRequest();
}
return xmlRequest;
}
function responseDatas(method, url, param, func) {
//先得到XMLHttpRequest对象
createXMLRequest();
//onreadystatechange,这个事件实在状态发生了改变的时候调用
xmlRequest.onreadystatechange = function() {
//如果readyState为4说明请求的状态是已经完成
if (xmlRequest.readyState == 4) {
//当请求的状态完成了还需要知道结果是否正确,当status等于200的时候表示结果正确
if (xmlRequest.status == 200) {
//得到服务器传送过来的值,以文本的格式返回
var text = xmlRequest.responseText;
func(text);
}
}
}
//该方法指定请求的HTTP方式(POST/GET),请求的URL和通讯模式(同步还是异步true为异步)
xmlRequest.open(method, url, true);
//设置请求头
xmlRequest.setRequestHeader("cache-control", "no-cache");
//如果是POST提交方式,请求头还需设置以下请求头信息
if (method == "POST") {
xmlRequest.setRequestHeader("Content-Type",
"application/x-www-form-urlencoded");
}
//到了最关键的一步,发送请求,如果是GET提交方式括号中直接填写“null”,如果是POST提交,则需要把参数跟在括号中。GET提交方式的参数跟在上面open方法的URL后面。
xmlRequest.send(param);
}