来自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 相关文章推荐
QQ登录简单实现代码
Mar 09 Javascript
JQuery团队打造的javascript单元测试工具QUnit介绍
Feb 26 Javascript
JavaScript 对象字面量讲解
Jun 06 Javascript
js中遍历Map对象的方法
Jul 27 Javascript
微信小程序实现滑动删除效果
May 19 Javascript
如何使用JS在HTML中自定义字符串格式化
Jul 20 Javascript
jQuery选择器中的特殊符号处理方法
Sep 08 jQuery
js时间戳与日期格式之间转换详解
Dec 11 Javascript
Javascript实现动态时钟效果
Nov 17 Javascript
详解无限滚动插件vue-infinite-scroll源码解析
May 12 Javascript
vue循环数组改变点击文字的颜色
Oct 14 Javascript
可拖拽组件slider.js使用方法详解
Dec 04 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中执行系统外部命令
2006/10/09 PHP
PHP n个不重复的随机数生成代码
2009/06/23 PHP
PHP+MySQL 手工注入语句大全 推荐
2009/10/30 PHP
Thinkphp中数据按分类嵌套循环实现方法
2014/10/30 PHP
yii实现CheckBox复选框在同一行显示的方法
2014/12/03 PHP
PHP调用Linux命令权限不足问题解决方法
2015/02/07 PHP
php设计模式之单例模式实例分析
2015/02/25 PHP
PHP处理bmp格式图片的方法分析
2017/07/04 PHP
JavaScript延迟加载
2021/03/09 Javascript
来自chinaz的ajax获取评论代码
2008/05/03 Javascript
鼠标事件延时切换插件
2011/03/12 Javascript
jquery左边浮动到一定位置时显示返回顶部按钮
2014/06/05 Javascript
jQuery源码分析之jQuery.fn.each与jQuery.each用法
2015/01/23 Javascript
JavaScript更改原始对象valueOf的方法
2015/03/19 Javascript
Javascript编程之继承实例汇总
2015/11/28 Javascript
jQuery控制控件文本的长度的操作方法
2016/12/05 Javascript
vue-cli如何快速构建vue项目
2017/04/26 Javascript
详解Vue.js Mixins 混入使用
2017/09/15 Javascript
解析vue data不可以使用箭头函数问题
2018/07/03 Javascript
深入理解react-router 路由的实现原理
2018/09/26 Javascript
在Python中使用PIL模块处理图像的教程
2015/04/29 Python
python中import学习备忘笔记
2017/01/24 Python
Python OpenCV处理图像之图像像素点操作
2018/07/10 Python
python实现京东订单推送到测试环境,提供便利操作示例
2019/08/09 Python
微软台湾官方网站:Microsoft台湾
2018/08/15 全球购物
Myprotein丹麦官网:欧洲第一运动营养品牌
2019/04/15 全球购物
DTD的含义以及作用
2014/01/26 面试题
成人高等教育毕业生自我鉴定
2013/10/22 职场文书
七年级英语教学反思
2014/01/15 职场文书
体育教师自我鉴定
2014/02/12 职场文书
商业房地产广告语
2014/03/13 职场文书
幼儿园校园小喇叭广播稿
2014/10/17 职场文书
社区节水倡议书
2015/04/29 职场文书
2019公司管理制度
2019/04/19 职场文书
MySQL慢查询的坑
2021/04/28 MySQL
HTML5之高度塌陷问题的解决
2022/06/01 HTML / CSS