来自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 相关文章推荐
浅说js变量
May 25 Javascript
Jquery 表单验证类介绍与实例
Jun 09 Javascript
cookie中的path与domain属性详解
Dec 18 Javascript
qq悬浮代码(兼容各个浏览器)
Jan 29 Javascript
详解JavaScript语法对{}处理的坑爹之处
Jun 05 Javascript
Javascript基础_嵌入图像的简单实现
Jun 14 Javascript
React实现双向绑定示例代码
Sep 19 Javascript
JavaScript数组和对象的复制
Mar 21 Javascript
ES6中字符串string常用的新增方法小结
Nov 07 Javascript
vue中$refs, $emit, $on, $once, $off的使用详解
May 26 Javascript
vue实现条件叠加搜索的解决方法
May 28 Javascript
详解Vue中的Props与Data细微差别
Mar 02 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
咖啡的种类和口感
2021/03/03 新手入门
浅析PHP程序设计中的MVC编程思想
2014/07/28 PHP
推荐一款MAC OS X 下php集成开发环境mamp
2014/11/08 PHP
php短网址和数字之间相互转换的方法
2015/03/13 PHP
Zend Framework教程之前端控制器Zend_Controller_Front用法详解
2016/03/07 PHP
Json_decode 解析json字符串为NULL的解决方法(必看)
2017/02/17 PHP
浅谈Laravel POST,PUT,PATCH 路由的区别
2019/10/15 PHP
JavaScript面象对象设计
2008/04/28 Javascript
前端开发部分总结[兼容性、DOM操作、跨域等](持续更新)
2010/03/04 Javascript
兼容IE和FF的图片上传前预览js代码
2013/05/28 Javascript
jquery清空表单数据示例分享
2014/02/13 Javascript
详解参数传递四种形式
2015/07/21 Javascript
HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
2015/11/25 Javascript
微信小程序 常用工具类详解及实例
2017/02/15 Javascript
解决bootstrap模态框数据缓存的问题方法
2018/08/10 Javascript
微信小程序使用for循环动态渲染页面操作示例
2018/12/25 Javascript
微信小程序实现工作时间段选择
2019/02/15 Javascript
Angular使用ControlValueAccessor创建自定义表单控件
2019/03/08 Javascript
vue递归组件实战之简单树形控件实例代码
2019/08/27 Javascript
layui清空,重置表单数据的实例
2019/09/12 Javascript
在 Vue 中编写 SVG 图标组件的方法
2020/02/24 Javascript
vue-preview动态获取图片宽高并增加旋转功能的实现
2020/07/29 Javascript
用Python进行一些简单的自然语言处理的教程
2015/03/31 Python
Django发送html邮件的方法
2015/05/26 Python
python登录豆瓣并发帖的方法
2015/07/08 Python
给大家整理了19个pythonic的编程习惯(小结)
2019/09/25 Python
flask 实现token机制的示例代码
2019/11/07 Python
解决Tensorflow sess.run导致的内存溢出问题
2020/02/05 Python
美国校园市场:OCM
2017/06/08 全球购物
实习老师离校感言
2014/02/03 职场文书
全国法院系统开展党的群众路线教育实践活动综述(全文)
2014/10/25 职场文书
2014年单位工作总结范文
2014/11/27 职场文书
班主任寄语2015
2015/02/26 职场文书
婚宴新娘致辞
2015/07/28 职场文书
信息技术教研组工作总结
2015/08/13 职场文书
护士工作心得体会
2016/01/25 职场文书