日期:2014-05-16 浏览次数:20645 次
本人简单封装的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; } }
?
?