Ajax相关的Js方法

80酷酷网    80kuku.com

  ajax|js

增加Ajax相关的js方法,这些方法大部分是基于(一个很好的 JavaScript Framework )类库来写的。

1. loadAjaxElement,loadAjaxData,sendAjaxElement,sendAjaxData这四方法都是真接Ajax操作的方法;

2. parseXML,importXML,getTextNodeValue这三个方法是对于Ajax返回结果中的xml数据的处理;如果返回结果非标准xml文档的话,可以通过parseXML来处理,生成XMLDocument对象;

3.getParams方法是用来返回当前页面的url参数值的;

4.showLoading,hideLoading这两个方法用来显示在页面加载过程中提示信息;



//Ajax功能;

function loadAjaxElement(e,u,p,f,l){

    if(arguments.length < 3){

        return ;

    }

    var o = $(e);

    o.innerHTML = l;

    if(typeof p != 'string'){

        p = $H(p).toQueryString();

    }

    new Ajax.Updater( {success: e},u,{method: 'get', parameters: p, onFailure: f});

}

function loadAjaxData(u,p,s,f){

    if(arguments.length < 3){

        return ;

    }

    if(typeof p != 'string'){

        p = $H(p).toQueryString();

    }

    new Ajax.Request(
u,{method: 'get', parameters: p, onSuccess:s,onFailure: f});

}

function sendAjaxElement(e,u,p,f,l){

    if(arguments.length < 3){

        return ;

    }

    var o = $(e);

    o.innerHTML = l;

    if(typeof p != 'string'){

        p = $H(p).toQueryString();

    }

    new Ajax.Updater(
{success: e},
u,
{method: 'post', parameters: p, onFailure: f});

}

function sendAjaxData(u,p,s,f){

    if(arguments.length < 3){

    return ;

    }

    if(typeof p != 'string'){

        p = $H(p).toQueryString();

    }

    new Ajax.Request(
u,
{method: 'post', parameters: p, onSuccess:s,onFailure: f});

}

function parseXML(s){

    try{

        var domParser = new DOMParser();

        var o = domParser.parseFromString(s,
'application/xml');

        return o.documentElement;

    }catch(e){

        try{

            var o = getIEXmlAX();

            o.loadXML(s);

            return o.documentElement;

        }catch(e){

            return null;

        }

    }

}

function importXML(u,s,f){

    new Ajax.Request(
u,
{method: 'get', parameters: null, onSuccess:function(v){s(v.responseXML.documentElement);},onFailure: f});

}

function getIEXmlAX(){

    var i,activeXarr;

    activeXarr = new Array(

                                "MSXML4.DOMDocument",

                                "MSXML3.DOMDocument",

                                "MSXML2.DOMDocument",

                                "MSXML.DOMDocument",

                                "Microsoft.XmlDom"

    );

    for(i=0; i
        try
{

            var o = new ActiveXObject(activeXarr[i]);

            return o;

        }
catch(objException){}

    }

    return false;

}

function getTextNodeValue(d,n,e){

    if(typeof e == 'undefined'){

        e = false;

    }

    var a = d.getElementsByTagName(n);

    if(a==null){

        return null;

    }

    if(a.length==1){

        return (e)?unescape(a[0].firstChild.nodeValue):a[0].firstChild.nodeValue;

    }else{

        var ra = new Array();

        for(var i=0;i
            ra[i] = (e)?unescape(a[i].firstChild.nodeValue):a[i].firstChild.nodeValue;

        }

        return ra;

    }

}

function getParams(){

    var o = new Object()

    var a=document.location.search.substr(1).split('&');

    for (i=0;i
        try{

            var aa=a[i].split('=');

            var n=aa[0];

            var v=aa[1];

            o[n]=trim(v);

        }catch(e){

        }

    }

    return o;

}

function showLoading(c,b,a){

    switch(arguments.length){

        case 2:

            a = 0.9;

        case 1:

            b = "#000000";

        case 0:

            c = "#FFFFFF";

        break;

    }

    var d = document;

    if($("loading_div") == null){

    var s = '

';

    d.write(s);

    }

    var o = $("loading_div");

    if(o.style.MozOpacity){

        o.style.MozOpacity = a;

    }else if(o.style.opacity){

        o.style.opacity = a;

    }else{

        a = a * 100;

        o.style.filter='Alpha(Opacity='+a+')';

    }

}

function hideLoading(){

    $("loading_div").style.display = 'none';

}

 


分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: