来自chinaz的ajax获取评论代码

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+"&notuser="+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;

(0)

相关推荐

  • Asp.net利用JQuery AJAX实现无刷新评论思路与代码

    首先在数据库中就建三个字段的表用来存储用户名和评论信息,Id只是为了设置唯一标示,所以设置成整型自增字段就行了. 再建一个HTML页面,只需简单的拉几个html控件出来摆着就行,注意在页面顶部有个<table>标签用来占位输出评论内容. Html页面代码就这样简单就行了: 复制代码 代码如下: <body><table id="room"> </table> <div> 用户名:<input id="Text1

  • ASP+Ajax实现无刷新评论简单例子

    <!--#include file="command.asp" --> <% Dim  CurPage CurPage=cint(Request("page")) If CurPage = empty or CurPage<1 Then       CurPage = 1 End If Response.ContentType="application/xml" Response.Charset="gb2312&

  • ajax无刷新评论功能

    这是留言板的界面,当用户点击提交留言的时候,自动提交到我的留言下面 留言内容中为空,或者为灰色的"没有填写留言内容"都会弹出 请填写留言内容,当用户填写信息的会在右下角显示当前留言的字数. 下面是javascript的代码 //去掉左右尖括号 并用去掉空格后的字符串替代显示 function replaceBrackets(id) { var inputValue = $("#" + id).val(); while (inputValue.indexOf(&quo

  • Ajax实现评论提交

    复制代码 代码如下: document.write('<DIV id="loadingg"  style="HEIGHT:65px; WIDTH: 205px;POSITION: absolute; Z-INDEX:1000;border:3px #fff solid;text-align:center; font-size:12px; font-family:Arial, Helvetica, sans-serif;color:#660000;background:#

  • asp.net Ajax之无刷新评论介绍

    首先还是建一个DoComments.aspx页面和一个DealComments.ashx页面(代码基本上都有注释,如果没写注释,请先看前几篇!).Docomments.aspx页面中的代码为: 复制代码 代码如下: <head runat="server"> <title></title> <script type="text/javascript"> var objXmlHttp = null; function C

  • Ajax实现评论中顶和踩功能的实例代码

    效果大致如下: javascript这块使用jquery.新建一个Asp.net web项目,使用NuGet获取Jquery最新版. 数据库方面使用Nhibernate,用Install-Package Nhibernate引用. 数据库是用的PostgreSQL,Install-Package Npgsql把驱动装上.我这里偷个懒,数据库名,用户名和密码都是ajaxDemo了. 创建数据库: 复制代码 代码如下: CREATE DATABASE "ajaxDemo"   WITH O

  • 基于jquery实现ajax无刷新评论

    jquery实现ajax无刷新评论需要用的技术:(本次试验用的是"jquery-1.4.2.js"版本的jquery) $.post("一般处理程序路径",{以字典的形式传递参数},function(data,status){``````}); jquery中的基本选择器操作: 首先创建数据库"T_article": 主键设置自增: 然后创建一个强类型的DataSet. 接着创建一个"无刷新评论.aspx"页面: 页面代码如下

  • 一个jsp+AJAX评论系统第1/2页

    这是一个简单的评论系统,使用了JDOM(这边使用Jdom-b9),实例使用JSP作为视图,结合使用AJAX(用到prototype-1.4),Servlet和JavaBean作为后台处理,使用xml文件存储数据. 1.应用目录结构如下: data   |--comment.xml js   |--prototype.js   |--ufo.js(UTF-8格式)                                                                    

  • PHP Ajax实现页面无刷新发表评论

    大家都有在网站发表评论的经历,传统的发表过程无非是:发表->提交页面表单->等待刷新页面,这样在网络比较拥挤的时候,往往需要漫长的等待,今天介绍用PHP+Ajax实现页面无刷新发表评论,希望对初学ajax的PHPer有所帮助. 那么首先,我们需要一个基本的ajax开发框架,文件ajax.js就包含了这个框架,代码如下: var http_request=false;  function send_request(url){//初始化,指定处理函数,发送请求的函数    http_request

  • 来自chinaz的ajax获取评论代码

    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

  • django ajax提交评论并自动刷新功能的实现代码

    在试了很多次了,终于搞定了,上代码吧.(我用的是jQuery的ajax,不是原生的) js代码: <script> $(document).ready(function () { getcomment(); $('.comment-box button').click(function () { var comment_text = $('.comment-box textarea').val(); $.ajax({ type: 'POST', url: '/bbs/article/{{ ar

  • jQuery中使用Ajax获取JSON格式数据示例代码

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.JSONM文件中包含了关于"名称"和"值"的信息.有时候我们需要读取JSON格式的数据文件,在jQuery中可以使用Ajax或者 $.getJSON()方法实现. 下面就使用jQuery读取music.txt文件中的JSON数据格式信息. 首先,music.txt中的内容如下: 复制代码 代码如下: [ {"optionKey":"1"

  • jQuery基于ajax实现星星评论代码

    本文实例讲述了jQuery基于ajax实现星星评论代码.分享给大家供大家参考.具体如下: 这里使用jquery模仿点评网的星星评论功能,Ajax评论模块,鼠标点击星星即可评价,下边是分数,可以点击后给分,网上很流行的效果,本代码相对完整,相信很多朋友会喜欢的. 先来看看运行效果截图: 具体代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/

  • AJAX简单测试代码实例

    本文实例讲述了AJAX简单测试代码.分享给大家供大家参考.具体如下: 客户端:代码如下:(AJAX_test.html ) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/x

  • thinkPHP实现基于ajax的评论回复功能

    本文实例讲述了thinkPHP实现基于ajax的评论回复功能.分享给大家供大家参考,具体如下: 控制器代码: <?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller { public function index(){ $num = M('comment')->count(); //获取评论总数 $this->assign('num',$num); $d

  • ajax获取json数据为undefined原因分析

    Asynchronous JavaScript and XML (Ajax ) 是驱动新一代 Web 站点(流行术语为 Web 2.0 站点)的关键技术.Ajax 允许在不干扰 Web 应用程序的显示和行为的情况下在后台进行数据检索.使用 XMLHttpRequest 函数获取数据,它是一种 API,允许客户端 JavaScript 通过 HTTP 连接到远程服务器.Ajax 也是许多 mashup 的驱动力,它可将来自多个地方的内容集成为单一 Web 应用程序. 一般处理服务器传来的json值

  • 如何利用AJAX获取Django后端数据详解

    使用Django服务网页时,只要用户执行导致页面更改的操作,即使该更改仅影响页面的一小部分,它都会将完整的HTML模板传递给浏览器.但是如果我们只想更新页面的一部分,则不必完全重新渲染页面-这时候就要用到AJAX了. 使用AJAX获取Django后端数据插图 AJAX提供了一种将GET或POST请求发送到Django视图并接收任何返回的数据而无需刷新页面的方法.现代JavaScript包含fetch API,该API为我们提供了一种纯JavaScript方式来发送AJAX请求. 让我们看一下如何

  • JS HTML5 音乐天气播放器(Ajax获取天气信息)

    晚上要考软件工程,实在不想复习.写个播放器吧,这个只是个用来学习的小Demo,众多不完善之处,下面贴出源代码,如果要转载,请加上版权声明 PS:因为Ajax涉及到跨域获取天气信息,有两个版本,一个是直接跨域,IE10支持,其他的浏览器要改配置.另一个是服务器端的weather.php,获取天气信息返回json. weather.php就不写了,里面的对应路径存放对应的文件 演示地址: http://569375.ichengyun.net/fm/ 实现功能:音乐播放,进度调节(滑动模块),音量条

  • 详解Vue.js基于$.ajax获取数据并与组件的data绑定

    Vue.js与jQuery不冲突??? 在实际的应用中,几乎90%的数据是来源于服务端的,前端和服务端之间的数据交互一般是通过ajax请求来完成的. 说到ajax请求,第一反应肯定想到了jQuery,项目中如果引入jQuery会帮助我们简化很多操作,简化DOM操作,ajax方法获取后端数据等. 然而,Vue.js和jQuery冲突吗??? 答案显然是不冲突!!! 接下来会实现Vue.js组件中使用jQuery的ajax方法获取服务器端数据并绑定至组件的data中. 创建Vue.js单文件组件 <

随机推荐