六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 31|回复: 0

AJAX 简单封装

[复制链接]

升级  16%

74

主题

74

主题

74

主题

举人

Rank: 3Rank: 3

积分
248
 楼主| 发表于 2013-1-29 10:37:49 | 显示全部楼层 |阅读模式
本人简单封装的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;}} 
 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表