日期:2014-05-16 浏览次数:20324 次
?
/**
?* 工具对象
?*/
comet.utils = {
? ? ? ? /**
? ? ? ? ?* 获取随机数参数,形如:&randomNum=18787890001
? ? ? ? ?*/
? ? ? ? _getRandomNumParam : function(){
? ? ? ? ? ? ? ? var date = new Date();
? ? ? ? ? ? ? ? var retStr = "&randomNum=" + date.getTime();
? ? ? ? ? ? ? ? return retStr;
? ? ? ? },
? ? ? ? /**
? ? ? ? ?* 获取项目根路径,返回值形如:http://localhost:8080/sys/
? ? ? ? ?*/
? ? ? ? _getRootPath : function (){
? ? ? ? ? ? ? ? //获取当前网址,如:http://localhost:8080/sys/testPushlet.jsp
? ? ? ? ? ? ? ? var curHref = location.href;
? ? ? ? ? ? ? ? //获取主机地址之后的目录,如:/sys/testPushlet.jsp
? ? ? ? ? ? ? ? var pathName = location.pathname;
? ? ? ? ? ? ? ? //获取当前主机地址,如:http://localhost:8080
? ? ? ? ? ? ? ? var host = curHref.substring(0,curHref.indexOf(pathName));
? ? ? ? ? ? ? ? //获取当前项目名称,如:/sys
? ? ? ? ? ? ? ? var projectName = pathName.substring(0,pathName.indexOf("/",1));
? ? ? ? ? ? ? ? return(host + projectName + ?"/");
? ? ? ? },
? ? ? ? /**
? ? ? ? ?* 创建兼容firefox、ie5以上版本的xmlHttpRequest对象
? ? ? ? ?*/
? ? ? ? _getXMLHttpRequest : function(){?
? ? ? ? ? ? ? ? var http_request;
? ? ? ? ? ? ? ? if(comet.browserType=="firefox"){ // firefox
? ? ? ? ? ? ? ? ? ? ? ? http_request=new XMLHttpRequest();?
? ? ? ? ? ? ? ? }else if(comet.browserType=="ie"){ // ie系列
? ? ? ? ? ? ? ? ? ? ? ? try{?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? http_request=new ActiveXObject("Msxml2.XMLHTTP");?
? ? ? ? ? ? ? ? ? ? ? ? }catch(e){ // IE5.x
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? http_request=new ActiveXObject("Microsoft.XMLHTTP");?
? ? ? ? ? ? ? ? ? ? ? ? }?
? ? ? ? ? ? ? ? }?
? ? ? ? ? ? ? ? return http_request;
? ? ? ? },
? ? ? ? /**
? ? ? ? ?* 封装ajax请求方法(类似jquery中$.ajax)
? ? ? ? ?*/
? ? ? ? _ajax : function(args){
? ? ? ? ? ? ? ? var url = null;
? ? ? ? ? ? ? ? var async = true;
? ? ? ? ? ? ? ? var type = "GET";
? ? ? ? ? ? ? ? var postData = null;
? ? ? ? ? ? ? ? var successFun = null;
? ? ? ? ? ? ? ? var errorFun = null;
? ? ? ? ? ? ? ? var timeout = null;
? ? ? ? ? ? ? ? var timer = null;
? ? ? ? ? ? ? ? if(args[url]){
? ? ? ? ? ? ? ? ? ? ? ? //避免IE下使用缓存,不刷新问题
? ? ? ? ? ? ? ? ? ? ? ? url = args[url] + comet.utils._getRandomNumParam(); ?
? ? ? ? ? ? ? ? }else{
? ? ? ? ? ? ? ? ? ? ? ? alert("url could not be null");
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? if(args[async] == false){async = false;}
? ? ? ? ? ? ? ? if(args[type] == "POST"){type = "POST";}
? ? ? ? ? ? ? ? if(args[postData]){postData = args[postData];}
? ? ? ? ? ? ? ? if(args[success]){successFun = args[success];}
? ? ? ? ? ? ? ? if(args[error]){error = args[error];}
? ? ? ? ? ? ? ? if(args[timeout]){timeout = args[timeout];}
? ? ? ? ? ? ? ? var xmlhttp = comet.utils._getXMLHttpRequest();
? ? ? ? ? ? ? ? if (!xmlhttp || xmlhttp == null) {
? ? ? ? ? ? ? ? ? ? ? ? alert('No browser XMLHttpRequest (AJAX) support');
? ? ? ? ? ? ? ? ? ? ? ? return;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? xmlhttp.onreadystatechange = function() {
? ? ? ? ? ? ? ? ? ? ? ? if (xmlhttp.readyState == 4) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if (xmlhttp.status == 200) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if(successFun != null){successFun(xmlhttp);}
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? } else {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if(errorFun != null){errorFun(xmlhttp);}
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? alert("XMLHttpResponse return error ,the status is" ? ? ? ?+ xmlhttp.status);
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if(timer){
? ? ? ? ? ? ? ? ? ?