//创建xmlHttpRequest对象
function createXMLHttpRequest() {
var xmlHttp = null;
if (window.XMLHttpRequest) { // Mozilla 浏览器
xmlHttp = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE浏览器
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
}
}
}
return xmlHttp;
}
/*
* 发送Ajax异步请求
* @param method请求方式
* @param url 请求的url地址
* @param str_params 字符串参数
* @param callback 服务器返回状态正常时,调用的函数(可选参数)
* @param error 服务器返回状态不正常时,调用的行数(可选参数)
*/
function sendRequest(method, url,str_params,callback,error){
//若XMLHttpRequest对象为空,则调用方法创建
var xmlHttp = createXMLHttpRequest();
//若为GET方式
if(method.toLowerCase() == "get" && str_params != null){
url+="?"+str_params;//将参数追加到url后面进行传递
}
//创建一个新的HTTP请求,指定请求属性
xmlHttp.open(method,url,true);
//设置回调函数
xmlHttp.onreadystatechange = function(){
//若请求完成且状态正常
if(xmlHttp.readyState == 4 && xmlHttp.status == 200 ){
//如果传入的callback参数是一个函数
if(typeof(callback) == "function"){
//调用callback函数
callback(xmlHttp);
}
}else{
//状态不正常,发生了错误
//如果传入的error参数是一个函数
if(typeof(error) == "function"){
//调用error函数
error(xmlHttp);
}
}
};
//若为post请求方式
if(method.toLowerCase() == "post"){
//设置Content-Type请求头
xmlHttp.setRequestHeader ("Content-Type","application/x-www-form-urlencoded");
//发送请求
xmlHttp.send(str_params);
}else{
//发送请求
xmlHttp.send(null);
}
}
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28910399/viewspace-766326/
,如需转载,请注明出处,否则将追究法律责任。