来自chinaz的ajax获取评论代码


Posted in Javascript onMay 03, 2008

ajax获取到的字符是类似下面的内容

{a:"<div class='pl_list'><div><span class='float_right'><a href=javascript:goodbad(22835,26769,'good',1) title='支持一下'>支持:[ 0 ]</a>    <a href=javascript:goodbad(22835,26769,'bad',1) title='我反对'>反对:[ 0 ]</a></span><span class='zz'>中国站长站网友:匿名 于 2008-04-25 评论道:</span></div>谁认为投放了Google AdSense的站点就不允许进行推广了?傻子吧</div>",b:1}

然后用下面的ajax进行输出
var key=''; 
var str=new Array(); 
function createAjaxObj(){ 
    var httprequest=false 
    //document.domain='chinaz.com'; 
    if (window.XMLHttpRequest){ // if Mozilla, Safari etc 
        httprequest=new XMLHttpRequest() 
        if (httprequest.overrideMimeType) 
            httprequest.overrideMimeType('text/xml'); 
    } 
    else if (window.ActiveXObject){ // if IE 
        try  
        { 
            httprequest=new ActiveXObject("Msxml2.XMLHTTP"); 
        }  
        catch (e) 
        { 
            try 
            { 
                httprequest=new ActiveXObject("Microsoft.XMLHTTP"); 
            } 
            catch (e){} 
        } 
    } 
    return httprequest; 
} 
function load_feedback(arcID,pg){ 
/* 
    var url = "http://www.chinaz.com/plus/feedback_ajax.php?action=show&arcID="+arcID+"&pg="+pg; 
    var ajax = new oAjax(); 
    // 是否显示错误 
    //ajax.error = true; 
    // 请求的页面的编码为'gb2312'或空 
    //ajax.encode = 'gb2312'; 
    // 回调函数 
    ajax.callback = function (content) { 
        // 处理返回内容 
        eval('var obj = ' + content); 
        document.getElementById('fedbk').innerHTML=obj.a; 
        document.getElementById('fedcount').innerHTML=obj.b; 
    }; 
    ajax.send(url); 
*/ 
    var xmlhttp = createAjaxObj(); 
    try 
    { 
        var params="action=show&arcID="+arcID+"&pg="+pg; 
        xmlhttp.abort();     
        xmlhttp.open("get","/plus/feedback_ajax.php?"+params,true); 
        xmlhttp.setRequestHeader("Content-type", "text/html;charset=gb2312");     
        xmlhttp.setRequestHeader("If-Modified-Since","0");     
        xmlhttp.setRequestHeader("Content-length", params.length); 
        xmlhttp.setRequestHeader("Connection", "close"); 
        xmlhttp.onreadystatechange=f 
        xmlhttp.send(null);     
    }catch(ex){} 
    function f() 
    { 
            if(xmlhttp.readyState!= 4 || xmlhttp.status!=200 ) 
                return ; 
            var b= xmlhttp.responseText; 
            var obj = eval("("+b+")");           
            document.getElementById('fedbk').innerHTML=obj.a; 
            document.getElementById('fedcount').innerHTML=obj.b; 
            document.getElementById('feedcounttop').innerHTML=obj.b; 
    } 
} 

function load_allfeedback(arcID,pg){ 
    var xmlhttp = createAjaxObj(); 
    try 
    { 
        var params="action=showall&arcID="+arcID+"&pg="+pg; 
        xmlhttp.abort();     
        xmlhttp.open("get","/plus/feedback_ajax.php?"+params,true); 
        xmlhttp.setRequestHeader("Content-type", "text/html;charset=gb2312");     
        xmlhttp.setRequestHeader("If-Modified-Since","0");     
        xmlhttp.setRequestHeader("Content-length", params.length); 
        xmlhttp.setRequestHeader("Connection", "close"); 
        xmlhttp.onreadystatechange=f 
        xmlhttp.send(null);     
    }catch(ex){} 
    function f() 
    { 
            if(xmlhttp.readyState!= 4 || xmlhttp.status!=200 ) 
                return ; 
            var content= xmlhttp.responseText; 
            var obj = eval("("+content+")");       
           // eval('var obj = ' + content);     
            document.getElementById('fedbk').innerHTML=obj.a; 
            //document.getElementById('fedcount').innerHTML=obj.b; 
    } 
} 
function feed_back(){ 
    var msg   = trim(document.getElementById('msg').value); 
    var arcID = document.getElementById('arcID').value; 
    var username = trim(document.getElementById('username').value); 
    var pwd   = trim(document.getElementById('pwd').value); 
    var checkbox = document.getElementById('notuser'); 
    if(checkbox.checked) 
        var notuser = 1; 
    else 
        var notuser = 0;     

    var xmlhttp = createAjaxObj(); 
    try 
    { 
        params="action=send&arcID="+arcID+"&msg="+msg+"&username="+username 
                +"&pwd="+pwd+"¬user="+notuser; 
        xmlhttp.abort();     
        xmlhttp.open("get","/plus/feedback_ajax.php?"+params,true); 
        xmlhttp.setRequestHeader("Content-type", "text/html;charset=gb2312");     
        xmlhttp.setRequestHeader("If-Modified-Since","0");     
        xmlhttp.setRequestHeader("Content-length", params.length); 
        xmlhttp.setRequestHeader("Connection", "close"); 
        xmlhttp.onreadystatechange=f 
        xmlhttp.send(null);     
    }catch(ex){} 
    function f() 
    {     
            if(xmlhttp.readyState!= 4 || xmlhttp.status!=200 ) 
                return ; 
                var arr = xmlhttp.responseText.split("@:"); 
                if(!arr[1]){ 
                    alert(xmlhttp.responseText); 
                } 
                else{     
                    if(arr[0] != 'true') 
                        alert(arr[0]); 
                    alert(arr[2]); 
                    ck_yzimg();     
                    load_feedback(arr[1],1); 
                } 
    } 
} 
function goodbad(fid,arcid,actname,pg){ 
     
    var xmlhttp = createAjaxObj(); 
    try 
    { 
        params = "action="+actname+"&fid="+fid+"&arcID="+arcid+"&pg="+pg; 
        xmlhttp.abort();     
        xmlhttp.open("get","/plus/feedback_ajax.php?"+params,true); 
        xmlhttp.setRequestHeader("Content-type", "text/html;charset=gb2312");     
        xmlhttp.setRequestHeader("If-Modified-Since","0");     
        xmlhttp.setRequestHeader("Content-length", params.length); 
        xmlhttp.setRequestHeader("Connection", "close"); 
        xmlhttp.onreadystatechange=f 
        xmlhttp.send(null);     
    }catch(ex){} 
    function f() 
    {     
            if(xmlhttp.readyState!= 4 || xmlhttp.status!=200 ) 
                return ; 
                var arr = xmlhttp.responseText.split("@:"); 
                if(!arr[1]) 
                    alert(xmlhttp.responseText); 
                else{     
                    alert(arr[0]); 
                    load_feedback(arr[1],arr[2]); 
                } 
    } 
} 
function goodbad2(fid,arcid,actname,pg){ 
     
    var xmlhttp = createAjaxObj(); 
    try 
    { 
        params = "action="+actname+"&fid="+fid+"&arcID="+arcid+"&pg="+pg; 
        xmlhttp.abort();     
        xmlhttp.open("get","/plus/feedback_ajax.php?"+params,true); 
        xmlhttp.setRequestHeader("Content-type", "text/html;charset=gb2312");     
        xmlhttp.setRequestHeader("If-Modified-Since","0");     
        xmlhttp.setRequestHeader("Content-length", params.length); 
        xmlhttp.setRequestHeader("Connection", "close"); 
        xmlhttp.onreadystatechange=f 
        xmlhttp.send(null);     
    }catch(ex){} 
    function f() 
    {     
            if(xmlhttp.readyState!= 4 || xmlhttp.status!=200 ) 
                return ; 
                var arr = xmlhttp.responseText.split("@:"); 
                if(!arr[1]) 
                    alert(xmlhttp.responseText); 
                else{     
                    alert(arr[0]); 
                    load_allfeedback(arr[1],arr[2]); 
                } 
    } 
} 
function pg(vl){ 
    var arcID = document.getElementById('arcID').value; 
    load_feedback(arcID,vl); 
} 
function pg2(arcID,vl){ 
    //var arcID = document.getElementById('arcID').value; 
    load_allfeedback(arcID,vl); 
} 
function ck_yzimg(){ 
    //document.all.cknum.value=''; 
    document.all.msg.value=''; 
    document.all.username.value=''; 
    document.all.pwd.value=''; 
    document.getElementsByName('sb')[0].disabled = false; 
    //document.all.img1.onclick(); 
} 
function trim(s) { 
 return s.replace( /^\s*/, "" ).replace( /\s*$/, "" ); 
} 
////// 
/* 
String.prototype.Contains = function(str) { 
    return (this.indexOf(str) > -1); 
}; 
var Browser = { 
    s : navigator.userAgent.toLowerCase() 
}; 
(function (b) { 
    b.IsIE     = b.s.Contains('msie'); 
    b.IsIE5    = b.s.Contains('msie 5'); 
    b.IsIE6    = b.s.Contains('msie 6'); 
    b.IsIE7    = b.s.Contains('msie 7'); 
    b.IsIE56   = !b.IsIE7 && (b.IsIE6 || b.IsIE5); 
    b.IsGecko  = b.s.Contains('gecko'); 
    b.IsSafari = b.s.Contains('safari'); 
    b.IsOpera  = b.s.Contains('opera'); 
    b.IsMac    = b.s.Contains('macintosh'); 
    b.IsIELike = (b.IsIE || b.IsOpera); 
    b.IsGeckoLike = (b.IsGecko || b.IsSafari); 
}) (Browser); 
function oAjax () { 
    this.req = null; 
    this.url = ''; 
    this.content = ''; 
    this.type = 'text'; 
    this.encode = ''; 
    this.asyn = true; 
    this.action = 'get'; 
    this.error = false; 
} 
oAjax.prototype.init = function () { 
    if (window.XMLHttpRequest) { 
        this.req = new XMLHttpRequest(); 
    } 
    else if (window.ActiveXObject) { 
        // isIE = true; 
        try { 
            this.req = new ActiveXObject("Msxml2.XMLHTTP"); 
        } 
        catch (e) { 
            try { 
                this.req = new ActiveXObject("Microsoft.XMLHTTP"); 
            } 
            catch(e) { 
                this.req = false; 
            } 
        } 
    } 
    var self = this; 
    if (this.req) { 
        this.req.onreadystatechange = function () {self.listener()}; 
    } 
}; 
oAjax.prototype.listener = function () { 
    if (this.req.readyState == 4) { 
        if (this.req.status == 200) { 
            // right 
            try { 
                this.callback(Browser.IsIE && this.encode == 'gb2312' ? oAjax.gb2utf8(this.req.responseBody) : (this.type == 'text' ? this.req.responseText : this.req.responseXML)); 
            } 
            catch (e) { 
                this.halt('[callback] ' + e.name + ':' + e.message); 
            } 
        } 
        else { 
            // error 
            this.halt('[callback error] ' + this.req.status); 
        } 
    } 
}; 
oAjax.prototype.send = function (url) { 
    this.init(); 
    url = this.url = url || this.url || ''; 
    this.content = !!this.content ? this.content : ''; 
    this.encode = this.encode ? this.encode.toLowerCase() : ''; 
    this.asyn = this.asyn == undefined ? true : !!this.asyn; 
    this.action = (this.action == undefined || this.action == 'get') ? 'Get' : 'Post'; 
    this.error = this.error == undefined ? false : !!this.error; 
    if (! url && this.error) { 
        alert('Ajax请求URL不能为空。'); 
        return; 
    } 
    try { 
        this.req.open(this.action, url, this.asyn); 
    } 
    catch (e) { 
        this.halt('[open] ' + e.name + ':' + e.message); 
        return; 
    } 
    try { 
        this.req.setRequestHeader('Connection', 'close'); 
        this.req.setRequestHeader('Accept-Encoding', 'gzip, deflate'); 
        this.req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded' + (this.encode ? ';charset=' + this.encode : '')); 
        if(this.req.overrideMimeType && this.encode) { 
            this.req.overrideMimeType('text/xml' + (this.encode ? ';charset=' + this.encode : '')); 
        } 
        this.req.send(this.content); 
    } 
    catch (e) { 
        this.halt('[open] ' + e.name + ':' + e.message + '\n** 检查是否为跨域访问。'); 
    } 
}; 
oAjax.prototype.callback = function (content) { 
    //alert(content); 
}; 
    // abort 
oAjax.prototype.abort = function () { 
    this.req.abort(); 
}; 
oAjax.prototype.halt = function (description) { 
    this.error && alert(description); 
}; 
// gb2312 to utf8 
oAjax.gb2utf8 = function (data) { 
    var glbEncode = []; 
    gb2utf8_data = data; 
    execScript("gb2utf8_data = MidB(gb2utf8_data, 1)", "VBScript"); 
    var t = escape(gb2utf8_data).replace(/%u/g,"").replace(/(.{2})(.{2})/g,"%$2%$1").replace(/%([A-Z].)%(.{2})/g,"@$1$2"); 
    t = t.split("@"); 
    var i=0, j = t.length, k; 
    while(++i < j) { 
        k = t[i].substring(0,4); 
        if(!glbEncode[k]) { 
            gb2utf8_char = eval("0x" + k); 
            execScript("gb2utf8_char = Chr(gb2utf8_char)", "VBScript"); 
            glbEncode[k] = escape(gb2utf8_char).substring(1, 6); 
        } 
        t[i] = glbEncode[k] + t[i].substring(4); 
    } 
    gb2utf8_data = gb2utf8_char = null; 
    return unescape(t.join("%")); 
} 
*/

核心代码
           var b= xmlhttp.responseText;  
            var obj = eval("("+b+")");            
            document.getElementById('fedbk').innerHTML=obj.a;  
            document.getElementById('fedcount').innerHTML=obj.b;  
            document.getElementById('feedcounttop').innerHTML=obj.b; 
Javascript 相关文章推荐
JavaScript 变量命名规则
Sep 23 Javascript
javascript 获取iframe里页面中元素值的方法
Feb 17 Javascript
javascript操作referer详细解析
Mar 10 Javascript
angularJS 中$attrs方法使用指南
Feb 09 Javascript
详谈LABJS按需动态加载js文件
May 07 Javascript
JavaScript判断表单为空及获取焦点的方法
Feb 12 Javascript
JSON与XML的区别对比及案例应用
Nov 11 Javascript
js判断手机号是否正确并返回的实现代码
Jan 17 Javascript
JSON生成Form表单的方法示例
Nov 21 Javascript
vue使用Google地图的实现示例代码
Dec 19 Javascript
JavaScript设计模式之责任链模式实例分析
Jan 16 Javascript
vue print.js打印支持Echarts图表操作
Nov 13 Javascript
定义select的边框颜色
Apr 28 #Javascript
JavaScript对象模型-执行模型
Apr 28 #Javascript
JavaScript面象对象设计
Apr 28 #Javascript
JS event使用方法详解
Apr 28 #Javascript
ext for eclipse插件安装方法
Apr 27 #Javascript
ext监听事件方法[初级篇]
Apr 27 #Javascript
js调用flash的效果代码
Apr 26 #Javascript
You might like
PHP获取浏览器信息类和客户端地理位置的2个方法
2014/04/24 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
PHP面向对象程序设计之对象的遍历操作示例
2019/06/12 PHP
jquery ajax 登录验证实现代码
2009/09/23 Javascript
javascript抖动元素的小例子
2013/10/28 Javascript
JS动态创建DOM元素的方法
2015/06/09 Javascript
浅谈toLowerCase和toLocaleLowerCase的区别
2016/08/15 Javascript
React组件的三种写法总结
2017/01/12 Javascript
老生常谈angularjs中的$state.go
2017/04/24 Javascript
jQuery简单实现根据日期计算星期几的方法
2019/01/09 jQuery
微信小程序保存多张图片的实现方法
2019/03/05 Javascript
实现elementUI表单的全局验证的方法步骤
2019/04/29 Javascript
小程序多图列表实现性能优化的方法步骤
2019/05/28 Javascript
[51:15]完美世界DOTA2联赛PWL S2 PXG vs Magma 第一场 11.21
2020/11/24 DOTA
python基础教程之实现石头剪刀布游戏示例
2014/02/11 Python
Centos5.x下升级python到python2.7版本教程
2015/02/14 Python
python操作ssh实现服务器日志下载的方法
2015/06/03 Python
Apache如何部署django项目
2017/05/21 Python
python字典操作实例详解
2017/11/16 Python
python使用jieba实现中文分词去停用词方法示例
2018/03/11 Python
python中多层嵌套列表的拆分方法
2018/07/02 Python
python 实现创建文件夹和创建日志文件的方法
2019/07/07 Python
pytorch在fintune时将sequential中的层输出方法,以vgg为例
2019/08/20 Python
python误差棒图errorbar()函数实例解析
2020/02/11 Python
django配置app中的静态文件步骤
2020/03/27 Python
linux 下selenium chrome使用详解
2020/04/02 Python
python实现五子棋程序
2020/04/24 Python
boostrap modal 闪现问题的解决方法
2020/09/01 HTML / CSS
酒店总经理欢迎词
2014/01/15 职场文书
竞选班干部演讲稿300字
2014/08/20 职场文书
购房个人委托书范本
2014/10/11 职场文书
实习证明格式范文
2014/10/14 职场文书
内勤岗位职责
2015/02/10 职场文书
个人合作协议范本
2015/08/06 职场文书
导游词之任弼时故居
2020/01/07 职场文书
JavaScript实现外溢动态爱心的效果的示例代码
2022/03/21 Javascript