js实现局部刷新的方法

/**
*@description:      统一的局部刷新请求入口
*@param:            actionName        已配置的action
*@param:            actionMethod      action中的方法
*@param:            getParameter      利用get方法传递的参数
*@param:            postParameter     利用post方法传递的参数
*@param:            isSynch
*@return:           从服务器返回的字符串
*/
function executeRequest(actionName,actionMethod,postParameter,isAsynchronism){
    //判断是否使用局部刷新
    var isPartlyRefresh;
    if(event!=null)
    {
    var srcObj = event.srcElement;  
    if(srcObj != null && srcObj.tagName.toUpperCase() == "INPUT"){     
        if(srcObj.isPartlyRefresh != null && srcObj.isPartlyRefresh.toUpperCase() == "FALSE"){                         
                return "FALSE_NOTING";                            
        }
    }
    }
    var objXMLReq = getObjXMLReq();
    var strURL = document.getElementById("path") + "/" + actionName + ".do";
    currentActionName = actionName;
   
    var flag = false;
    if(actionMethod != null && actionMethod != ""){
        strURL += "?method=" + actionMethod;
        flag = true;
    }
    //增加局部刷新标示符
    if(flag)
        strURL += "&isPartlyRefresh=true";
    else
        strURL += "?isPartlyRefresh=true"; 
  
    if(postParameter == null) postParameter ="";
       
    if(isAsynchronism == null) isAsynchronism = false;
    objXMLReq.open("POST", strURL, isAsynchronism);
    objXMLReq.send(postParameter);
   
    var result;
    if(isAsynchronism==false){
            result = objXMLReq.responseText;                   
            return result;
     }
}

//取得XMLHttpRequest对象,基于AJAX技术
function getObjXMLReq(){
    var objXMLReq;
    // IE5 for the mac claims to support window.ActiveXObject, but throws an error when it's used
    if (window.ActiveXObject && !(navigator.userAgent.indexOf('Mac') >= 0 && navigator.userAgent.indexOf("MSIE") >= 0)){
        objXMLReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    //for Mozilla and Safari etc.
    else if (window.XMLHttpRequest){
        objXMLReq = new XMLHttpRequest();
    }
    return objXMLReq;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值