来自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实现计算两个日期的间隔天数
Aug 14 Javascript
Extjs中使用extend(js继承) 的代码
Mar 15 Javascript
单击浏览器右上角的X关闭窗口弹出提示的小例子
Jun 12 Javascript
js+div实现图片滚动效果代码
Feb 10 Javascript
text-align:justify实现文本两端对齐 兼容IE
Aug 19 Javascript
js+css实现有立体感的按钮式文字竖排菜单效果
Sep 01 Javascript
js HTML5多图片上传及预览实例解析(不含前端的文件分割)
Aug 26 Javascript
JS常见简单正则表达式验证功能小结【手机,地址,企业税号,金额,身份证等】
Jan 22 Javascript
基于Vue开发数字输入框组件
Dec 19 Javascript
详解vue服务端渲染浏览器端缓存(keep-alive)
Oct 12 Javascript
Bootstrap4 gulp 配置详解
Jan 06 Javascript
JavaScript遍历查找数组中最大值与最小值的方法示例
May 24 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
学习使用curl采集curl使用方法
2012/01/11 PHP
jQuery 类twitter的文本字数限制带提示效果插件
2010/04/16 Javascript
JS 事件绑定函数代码
2010/04/28 Javascript
基于jquery的横向滚动条(滑动条)
2011/02/24 Javascript
使用HTML+CSS+JS制作简单的网页菜单界面
2015/07/27 Javascript
jQuery无刷新切换主题皮肤实例讲解
2015/10/21 Javascript
JavaScript中子对象访问父对象的方式详解
2016/09/01 Javascript
jQuery实现的多张图无缝滚动效果【测试可用】
2016/09/12 Javascript
Vue实现双向绑定的方法
2016/12/22 Javascript
jQuery实现对网页节点的增删改查功能示例
2017/09/18 jQuery
解决jquery有正确返回值但不执行success函数的问题
2018/08/20 jQuery
vue-quill-editor富文本编辑器简单使用方法
2018/09/21 Javascript
Layui给switch添加响应事件的例子
2019/09/03 Javascript
vue-video-player实现实时视频播放方式(监控设备-rtmp流)
2020/08/10 Javascript
js实现页面导航层级指示效果
2020/08/25 Javascript
Python urlopen()函数 示例分享
2014/06/12 Python
python实现的简单FTP上传下载文件实例
2015/06/30 Python
Python中实现switch功能实例解析
2018/01/11 Python
python 实现批量xls文件转csv文件的方法
2018/10/23 Python
基于python实现KNN分类算法
2020/04/23 Python
Python使用扩展库pywin32实现批量文档打印实例
2020/04/09 Python
虚拟机下载python是否需要联网
2020/07/27 Python
美国演唱会订票网站:Ticketmaster美国
2017/10/05 全球购物
女士和男士时尚鞋在线购物:Shoespie
2019/02/28 全球购物
德国受欢迎的旅游和休闲网站:lastminute.de
2019/09/23 全球购物
俄罗斯护发和专业化妆品购物网站:Hihair
2019/09/28 全球购物
如何设定的weblogic的热启动模式(开发模式)与产品发布模式
2012/09/08 面试题
网页美工求职信范文
2014/04/17 职场文书
销售求职信范文
2014/05/26 职场文书
预备党员转正考核材料
2014/06/03 职场文书
云冈石窟导游词
2015/02/04 职场文书
用人单位聘用意向书
2015/05/11 职场文书
有关水浒传的读书笔记
2015/06/25 职场文书
2015年国庆节新闻稿
2015/07/18 职场文书
Android中View.post和Handler.post的关系
2022/06/05 Java/Android
postgresql中如何执行sql文件
2023/05/08 PostgreSQL