来自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 相关文章推荐
Jquery选择器 $实现原理
Dec 02 Javascript
JS解决url传值出现中文乱码的另类办法
Apr 08 Javascript
使用javascript插入样式
Mar 14 Javascript
jQuery EasyUI提交表单验证
Jul 19 Javascript
BootStrap中Table分页插件使用详解
Oct 09 Javascript
使用BootStrap实现悬浮窗口的效果
Dec 13 Javascript
Angular.js实现多个checkbox只能选择一个的方法示例
Feb 24 Javascript
JavaScript Canvas绘制圆形时钟效果
Aug 20 Javascript
微信小程序 支付功能实现PHP实例详解
May 12 Javascript
NW.js 简介与使用方法
Feb 01 Javascript
JS实现随机抽选获奖者
Nov 07 Javascript
jQuery实现放大镜案例
Oct 19 jQuery
定义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利用腾讯ip分享计划获取地理位置示例分享
2014/01/20 PHP
php计算程序运行时间的简单例子分享
2014/05/10 PHP
php连接mysql数据库
2017/03/21 PHP
javascript prototype,executing,context,closure
2008/12/24 Javascript
JavaScript建立一个语法高亮输入框实现思路
2013/02/26 Javascript
基于OO的动画附加插件,可以实现弹跳、渐隐等动画效果 分享
2013/06/24 Javascript
js里取容器大小、定位、距离等属性搜集整理
2013/08/19 Javascript
Javascript动态创建div的方法
2015/02/09 Javascript
JavaScript中数据结构与算法(三):链表
2015/06/19 Javascript
jquery实现简单的banner轮播效果【实例】
2016/03/30 Javascript
javascript之Boolean类型对象
2016/06/07 Javascript
浅谈js中的in-for循环
2016/06/28 Javascript
Ionic默认的Tabs模板使用实例
2016/08/29 Javascript
JavaScript利用闭包实现模块化
2017/01/13 Javascript
jQuery遮罩层实例讲解
2017/05/11 jQuery
vue不通过路由直接获取url中参数的方法示例
2017/08/24 Javascript
webpack4 CSS Tree Shaking的使用
2018/09/03 Javascript
微信小程序登录按钮遮罩浮层效果的实现方法
2018/12/16 Javascript
js getBoundingClientRect使用方法详解
2019/07/17 Javascript
es6函数之rest参数用法实例分析
2020/04/18 Javascript
浅谈python数据类型及类型转换
2017/12/18 Python
详谈python3 numpy-loadtxt的编码问题
2018/04/29 Python
Anaconda 离线安装 python 包的操作方法
2018/06/11 Python
Django跨域请求问题的解决方法示例
2018/06/16 Python
利用Python实现原创工具的Logo与Help
2018/12/03 Python
Python any()函数的使用方法
2019/10/28 Python
在Python中使用turtle绘制多个同心圆示例
2019/11/23 Python
HTML5 video 事件应用示例
2014/09/11 HTML / CSS
我们是伦敦女孩:WalG
2018/01/08 全球购物
.NET面试题:什么是反射
2016/09/30 面试题
中科方德软件测试面试题
2016/04/21 面试题
教师优秀党员事迹材料
2014/08/14 职场文书
初中生庆国庆演讲稿范文2014
2014/09/25 职场文书
党的群众路线教育实践活动个人整改方案
2014/10/25 职场文书
通讯稿范文
2015/07/22 职场文书
python基于turtle绘制几何图形
2021/06/15 Python