• dedeajaxjs应用


    简介:这是dede-ajax-js应用的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。

    class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=339595' scrolling='no'>

    <!--
    //xmlhttp和xmldom对象
    var DedeXHTTP = null;
    var DedeXDOM = null;
    var DedeContainer = null;
    var DedeShowError = false;
    var DedeShowWait = false;
    var DedeErrCon = "";
    var DedeErrDisplay = "下载数据失败";
    var DedeWaitDisplay = "正在下载数据...";

    //获取指定ID的元素

    function $DE(id) {
    return document.getElementById(id);
    }

    //gcontainer 是保存下载完成的内容的容器
    //mShowError 是否提示错误信息
    //DedeShowWait 是否提示等待信息
    //mErrCon 服务器返回什么字符串视为错误
    //mErrDisplay 发生错误时显示的信息
    //mWaitDisplay 等待时提示信息
    //默认调用 DedeAjax('divid',false,false,'','','')

    function DedeAjax(gcontainer,mShowError,mShowWait,mErrCon,mErrDisplay,mWaitDisplay)
    {
    DedeContainer = gcontainer;
    DedeShowError = mShowError;
    DedeShowWait = mShowWait;
    if(mErrCon!="") DedeErrCon = mErrCon;
    if(mErrDisplay!="") DedeErrDisplay = mErrDisplay;
    if(mErrDisplay=="x") DedeErrDisplay = "";
    if(mWaitDisplay!="") DedeWaitDisplay = mWaitDisplay;


    //post或get发送数据的键值对
    this.keys = Array();
    this.values = Array();
    this.keyCount = -1;
    this.sendlang = 'gb2312';

    //请求头类型
    this.rtype = 'text';

    //初始化xmlhttp
    //IE6、IE5
    if(window.ActiveXObject) {
    try { DedeXHTTP = new ActiveXObject("Msxml2.XMLHTTP");} catch (e) { }
    if (DedeXHTTP == null) try { DedeXHTTP = new ActiveXObject("Microsoft.XMLHTTP");} catch (e) { }
    }
    else {
    DedeXHTTP = new XMLHttpRequest();
    }

    //增加一个POST或GET键值对
    this.AddKeyN = function(skey,svalue) {
    if(this.sendlang=='utf-8') this.AddKeyUtf8(skey, svalue);
    else this.AddKey(skey, svalue);
    };

    this.AddKey = function(skey,svalue) {
    this.keyCount++;
    this.keys[this.keyCount] = skey;
    svalue = svalue+'';
    if(svalue != '') svalue = svalue.replace(/\+/g,'$#$');
    this.values[this.keyCount] = escape(svalue);
    };

    //增加一个POST或GET键值对
    this.AddKeyUtf8 = function(skey,svalue) {
    this.keyCount++;
    this.keys[this.keyCount] = skey;
    svalue = svalue+'';
    if(svalue != '') svalue = svalue.replace(/\+/g,'$#$');
    this.values[this.keyCount] = encodeURI(svalue);
    };

    //增加一个Http请求头键值对
    this.AddHead = function(skey,svalue) {
    this.rkeyCount++;
    this.rkeys[this.rkeyCount] = skey;
    this.rvalues[this.rkeyCount] = svalue;
    };

    //清除当前对象的哈希表参数
    this.ClearSet = function() {
    this.keyCount = -1;
    this.keys = Array();
    this.values = Array();
    this.rkeyCount = -1;
    this.rkeys = Array();
    this.rvalues = Array();
    };


    DedeXHTTP.onreadystatechange = function() {
    //在IE6中不管阻断或异步模式都会执行这个事件的
    if(DedeXHTTP.readyState == 4){
    if(DedeXHTTP.status == 200)
    {
    if(DedeXHTTP.responseText!=DedeErrCon) {
    DedeContainer.innerHTML = DedeXHTTP.responseText;
    }
    else {
    if(DedeShowError) DedeContainer.innerHTML = DedeErrDisplay;
    }
    DedeXHTTP = null;
    }
    else { if(DedeShowError) DedeContainer.innerHTML = DedeErrDisplay; }
    }
    else { if(DedeShowWait) DedeContainer.innerHTML = DedeWaitDisplay; }
    };

    //检测阻断模式的状态
    this.BarrageStat = function() {
    if(DedeXHTTP==null) return;
    if(typeof(DedeXHTTP.status)!=undefined && DedeXHTTP.status == 200)
    {
    if(DedeXHTTP.responseText!=DedeErrCon) {
    DedeContainer.innerHTML = DedeXHTTP.responseText;
    }
    else {
    if(DedeShowError) DedeContainer.innerHTML = DedeErrDisplay;
    }
    }
    };

    //发送http请求头
    this.SendHead = function()
    {
    //发送用户自行设定的请求头
    if(this.rkeyCount!=-1)
    {
    for(var i = 0;i<=this.rkeyCount;i++)
    {
    DedeXHTTP.setRequestHeader(this.rkeys[i],this.rvalues[i]);
    }
    }
     if(this.rtype=='binary'){
     DedeXHTTP.setRequestHeader("Content-Type","multipart/form-data");
    }else{
    DedeXHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    }
    };

    //用Post方式发送数据
    this.SendPost = function(purl) {
    var pdata = "";
    var i=0;
    this.state = 0;
    DedeXHTTP.open("POST", purl, true);
    this.SendHead();
    //post数据
    if(this.keyCount!=-1)
    {
    for(;i<=this.keyCount;i++)
    {
    if(pdata=="") pdata = this.keys[i]+'='+this.values[i];
    else pdata += "&"+this.keys[i]+'='+this.values[i];
    }
    }
    DedeXHTTP.send(pdata);
    };

    //用GET方式发送数据
    this.SendGet = function(purl) {
    var gkey = "";
    var i=0;
    this.state = 0;
    //get参数
    if(this.keyCount!=-1)
    {
    for(;i<=this.keyCount;i++)
    {
    if(gkey=="") gkey = this.keys[i]+'='+this.values[i];
    else gkey += "&"+this.keys[i]+'='+this.values[i];
    }
    if(purl.indexOf('?')==-1) purl = purl + '?' + gkey;
    else purl = purl + '&' + gkey;
    }
    DedeXHTTP.open("GET", purl, true);
    this.SendHead();
    DedeXHTTP.send(null);
    };

    //用GET方式发送数据,阻塞模式
    this.SendGet2 = function(purl) {
    var gkey = "";
    var i=0;
    this.state = 0;
    //get参数
    if(this.keyCount!=-1)
    {
    for(;i<=this.keyCount;i++)
    {
    if(gkey=="") gkey = this.keys[i]+'='+this.values[i];
    else gkey += "&"+this.keys[i]+'='+this.values[i];
    }
    if(purl.indexOf('?')==-1) purl = purl + '?' + gkey;
    else purl = purl + '&' + gkey;
    }
    DedeXHTTP.open("GET", purl, false);
    this.SendHead();
    DedeXHTTP.send(null);
    //firefox中直接检测XHTTP状态
    this.BarrageStat();
    };

    //用Post方式发送数据
    this.SendPost2 = function(purl) {
    var pdata = "";
    var i=0;
    this.state = 0;
    DedeXHTTP.open("POST", purl, false);
    this.SendHead();
    //post数据
    if(this.keyCount!=-1)
    {
    for(;i<=this.keyCount;i++)
    {
    if(pdata=="") pdata = this.keys[i]+'='+this.values[i];
    else pdata += "&"+this.keys[i]+'='+this.values[i];
    }
    }
    DedeXHTTP.send(pdata);
    //firefox中直接检测XHTTP状态
    this.BarrageStat();
    };


    } // End Class DedeAjax

    //初始化xmldom
    function InitXDom() {
    if(DedeXDOM!=null) return;
    var obj = null;
    // Gecko、Mozilla、Firefox
    if (typeof(DOMParser) != "undefined") {
    var parser = new DOMParser();
    obj = parser.parseFromString(xmlText, "text/xml");
    }
    // IE
    else {
    try { obj = new ActiveXObject("MSXML2.DOMDocument");} catch (e) { }
    if (obj == null) try { obj = new ActiveXObject("Microsoft.XMLDOM"); } catch (e) { }
    }
    DedeXDOM = obj;
    };



    //读写cookie函数
    function GetCookie(c_name)
    {
    if (document.cookie.length > 0)
    {
    c_start = document.cookie.indexOf(c_name + "=")
    if (c_start != -1)
    {
    c_start = c_start + c_name.length + 1;
    c_end = document.cookie.indexOf(";",c_start);
    if (c_end == -1)
    {
    c_end = document.cookie.length;
    }
    return unescape(document.cookie.substring(c_start,c_end));
    }
    }
    return null
    }

    function SetCookie(c_name,value,expiredays)
    {
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + expiredays);
    document.cookie = c_name + "=" +escape(value) + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString()); //使设置的有效时间正确。增加toGMTString()
    }

    //ajax调用
    function ajax(id,url)
    {
    var taget_obj = document.getElementById(id);
    myajax = new DedeAjax(taget_obj,false,false,'','','');
    myajax.SendGet2(url);
    DedeXHTTP = null;
    }

    -->


    <div id="ajax1"><a href="javascript:ajax('ajax1','xx.php')">AJAX测试</a></div>

    爱J2EE关注Java迈克尔杰克逊视频站JSON在线工具

    http://biancheng.dnbcw.info/php/339595.html pageNo:8
  • 相关阅读:
    3/10
    2/10
    福大软工 · 最终作业
    福大软工 · 第十二次作业
    Beta 冲刺(7/7)
    Beta 冲刺(6/7)
    Beta 冲刺(5/7)
    Beta 冲刺(4/7)
    Beta 冲刺(3/7)
    Beta 冲刺(2/7)
  • 原文地址:https://www.cnblogs.com/ooooo/p/2246147.html
Copyright © 2020-2023  润新知