日期:2014-05-16 浏览次数:20717 次
本人简单封装的ajax调用方法,包含同步和异步
/**
* @param url 待请求的服务端地址
* @param 第二个参数 method form method 默认'GET'
* @param 第三个参数 func 异步请求时的响应函数引用(给定该参数就是异步请求,否则为同步)
* @param 第四个以后的参数 args 响应函数参数
* 描述:url必选参数,同步请求时,二参数可选,三四不选;异步请求时都是必选参数,二参数可以给定一个空字符串(若你的响应函数无参的话,则四及后面的参数都不选)
* 同步请求时反回一个数组对象,该数组有两个元素,第一个是ajax返回的普通文本,第二个是ajax返回的DOM对象
* @return
*/
function ajaxSend(url){
var ajax = createAjax();
var method = arguments[1]||'GET';
method = method.toUpperCase();
if(method != 'GET' && method != 'POST'){
mehotd = 'GET';
}
var isAsyn= arguments[2]?true:false;
ajax.open(method, url, isAsyn);
if(isAsyn){
var callBackMehod = arguments[2];
var argCnt = arguments.length-3;
var argsArr = new Array(argCnt);
for(i=0;i<argCnt;i++){
argsArr[i] = arguments[3+i];
}
argsArr.push(ajax);
ajax.onreadystatechange = function(){
if(ajax.readyState == 4){
if(ajax.status == 200){
callBackMehod.apply(this, argsArr);
}
}
};
ajax.send(null);
return ajax;
}
else{
ajax.send(null);
var arr = new Array(ajax.responseText);
if(isIE){
arr.push(ajax.responseXML.documentElement);
}else{
var parser = new DOMParser();
xml = parser.parseFromString(ajax.responseText, "text/xml");
arr.push(xml);
}
return arr;
}
}
?
?