November 13, 2007
使用 jQuery 实现 Ajax 留言
写点废话当作前言
今天花了点时间在自己的 blog 上实现了非插件式的 Ajax 留言功能,当然,还是基于我们很好很强大的 jQuery 框架。基本思路就是利用 jQuery 的 Ajax API 把留言数据提交给 comments-ajax.php 完成留言,我们分三步实现,第一步要先改造 comments.php,第二步实现 jQuery 代码,第三步编写一个 comments-ajax.php 用来接收留言数据并完成对 WP 数据库的操作。
改造 comments.php
这一步不是必须的,你完全可以写一份适用于非标准的 comments.php 的 jQuery 代码,不过还是建议你把留言模板中的各个元素的 ID 定义标准,譬如把填写留言信息的表单(form)的 ID 设为 #commentform,留言 列表 ul 或 ol 的 ID 设为 #commentlist 等等。另外,视具体情况,你可能需要在合适的地方新增两个 span 元素,ID 分别设为 #commentload 和 #commenterror,用来显示留言提交状态和错误信息,不过这也不是必须的。然后,把整个 #commentform 和附属的元素用一个大的 div 包进来,ID 设为 #commentformbox,…… 你猜对了,这一步仍然不是必须的,我们做这么多不过是为了迎合下面的 jQuery 脚本,我在这里贴出来的可能只直接适用于自己的主题,但是如果你能够看得懂下面的代码,那么你也明白怎么样把这些代码改为适合自己的。
实现相应的 jQuery 代码:comments.js
jQuery 提供了 jQuery.ajax API,使用起来相当简便,在这里,我们需要用到的参数有 String url, Object data, String type, Function beforeSend, Function error, Function success,前三个参数用来定义 Ajax 请求的地址、数据、请求类型,后三个函数用来给发送请求之前、发生错误和请求成功添加处理动作。
以下是代码(借鉴于同样很好很强大的 K2 主题,并做了部分修改):
$('#commentform').submit(function(){
jQuery.ajax({
url: 'comments-ajax.php', // 这里要改为 comments-ajax.php 文件的位置
data: $('#commentform').serialize(), // 从表单中获取数据
type: 'POST', // 设置请求类型为 ‘POST’,默认为 ‘GET’
beforeSend: function() {
$('#commenterror').hide();
$('#commentload').show();
},
error: function(request) {
$('#commentload').hide();
$('#commenterror').show().html(request.responseText);
},
success: function(data) {
$('textarea').each(function(){
this.value='';
});
$('#commenterror').hide().html();
$('#comments').html(parseInt($('#comments').html()) + 1);
if (!$('#commentlist').length) {
$('#pinglist').before('<ul id="commentlist"></ul>');
}
$('#commentlist').append(data); // 追加留言数据
$('#commentform :input').attr('disabled', true);
$('#commentformbox').fadeOut(1000);
$('#commentload').hide();
setTimeout(function() { // 提交留言 15 秒后方可再次提交新留言
$('#commentform :input').removeAttr('disabled');
$('#commentformbox').fadeIn(1000);
}, 15000);
}
});
return false;
});
}
编写 comments-ajax.php
这个文件就是我们刚才写好的 jQuery 代码请求的链接,用来把从 #commentform 表单中得到的信息添加至 WP 数据库中。下面这段代码是直接从 K2 主题中 COPY 过来的(感谢 K2 的数位作者!),需要注意的是,最后一部分的 li 元素(对应于一条留言)需要修改到与你自己的 comments.php 相适应:
if ($_SERVER["REQUEST_METHOD"] != "POST") {
header('Allow: POST');
header("HTTP/1.1 405 Method Not Allowed");
header("Content-type: text/plain");
exit;
}
$db_check = true;
function kill_data() {
return '';
}
function check_db() {
global $wpdb, $db_check;
if($db_check) {
// Check DB
if(!$wpdb->dbh) {
echo('Our database has issues. Try again later.');
} else {
echo('We\'re currently having site problems. Try again later.');
}
die();
}
}
ob_start('kill_data');
register_shutdown_function('check_db');
require_once(dirname(__FILE__)."/../../../wp-config.php");
$db_check = false;
ob_end_clean();
nocache_headers();
function fail($s) {
header('HTTP/1.0 500 Internal Server Error');
echo $s;
exit;
}
$comment_post_ID = (int) $_POST['comment_post_ID'];
$status = $wpdb->get_row("SELECT post_status, comment_status FROM $wpdb->posts WHERE ID = '$comment_post_ID'");
if ( empty($status->comment_status) ) {
do_action('comment_id_not_found', $comment_post_ID);
fail('The post you are trying to comment on does not currently exist in the database.');
} elseif ( 'closed' == $status->comment_status ) {
do_action('comment_closed', $comment_post_ID);
fail('Sorry, comments are closed for this item.');
} elseif ( in_array($status->post_status, array('draft', 'pending') ) ) {
do_action('comment_on_draft', $comment_post_ID);
fail('The post you are trying to comment on has not been published.');
}
$comment_author = trim(strip_tags($_POST['author']));
$comment_author_email = trim($_POST['email']);
$comment_author_url = trim($_POST['url']);
$comment_content = trim($_POST['comment']);
// If the user is logged in
$user = wp_get_current_user();
if ( $user->ID ) {
$comment_author = $wpdb->escape($user->display_name);
$comment_author_email = $wpdb->escape($user->user_email);
$comment_author_url = $wpdb->escape($user->user_url);
if ( current_user_can('unfiltered_html') ) {
if ( wp_create_nonce('unfiltered-html-comment_' . $comment_post_ID) != $_POST['_wp_unfiltered_html_comment'] ) {
kses_remove_filters(); // start with a clean slate
kses_init_filters(); // set up the filters
}
}
} else {
if ( get_option('comment_registration') )
fail('Sorry, you must be logged in to post a comment.');
}
$comment_type = '';
if ( get_option('require_name_email') && !$user->ID ) {
if ( 6> strlen($comment_author_email) || '' == $comment_author )
fail('Error: please fill the required fields (name, email).');
elseif ( !is_email($comment_author_email))
fail('Error: please enter a valid email address.');
}
if ( '' == $comment_content )
fail('Error: please type a comment.');
// Simple duplicate check
$dupe = "SELECT comment_ID FROM $wpdb->comments WHERE comment_post_ID = '$comment_post_ID' AND ( comment_author = '$comment_author' ";
if ( $comment_author_email ) $dupe .= "OR comment_author_email = '$comment_author_email' ";
$dupe .= ") AND comment_content = '$comment_content' LIMIT 1";
if ( $wpdb->get_var($dupe) ) {
fail('Duplicate comment detected; it looks as though you\'ve already said that!');
}
$commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_content', 'comment_type', 'user_ID');
$comment_id = wp_new_comment( $commentdata );
$comment = get_comment($comment_id);
if ( !$user->ID ) {
setcookie('comment_author_' . COOKIEHASH, $comment->comment_author, time() + 30000000, COOKIEPATH, COOKIE_DOMAIN);
setcookie('comment_author_email_' . COOKIEHASH, $comment->comment_author_email, time() + 30000000, COOKIEPATH, COOKIE_DOMAIN);
setcookie('comment_author_url_' . COOKIEHASH, clean_url($comment->comment_author_url), time() + 30000000, COOKIEPATH, COOKIE_DOMAIN);
}
@header('Content-type: ' . get_option('html_type') . '; charset=' . get_option('blog_charset'));
$comment->comment_type = 'comment';
$comment_index = $_POST['comment_count'] + 1;
?>
<li id="comment-<?php echo $comment->comment_ID; ?>">
<!-- 这里需要添加你的代码 -->
</li>
收尾工作及测试
上面的工作做完后,把这几个文件存在当前主题所在目录下面,记得在 header.php 中引入 jQuery 框架和你刚才写好的 comments.js,否则留言功能是不起作用的哦。在浏览器中按下 Ctrl + F5 重新加载你的 blog 日志后,写几句话提交,是不是已经变成 Ajax 的了?留言提交成功后,留言框 #commentformbox “淡出”的效果看到了么,过 15 秒后它又会“淡入”。嗯,对了,你也发现了,在点击提交留言的按钮之后,如果没有一个不断旋转的动画图标
表达“正在提交”,肯定不够过瘾,那我们来把它加上,把这个图标另存到你的主题所在目录下的 images 目录下(绕口令),然后打开 style.css 在其中加上一句:
display: none;
height: 18px;
width: 18px;
background: url('images/spinner.gif') no-repeat center center;
}
当然,如果觉得这个动画图标不好看,你可以到这里生成你最中意的。
结束语
行了,就写这么多吧,漏了什么等发现了再补。我的感受:偶尔尝试一下不靠插件自己动手实现自己想要的功能,其实也蛮过瘾!动手之前想试试效果吗?给我留个言试试吧
那我先来试试,趁漫步他还没来。。。晕,今天被他说是沙发党了,hoho~ 这年头好东西太多,不当也难那~ 哇哈。。。看看效果~~
效果挺赞! 这个一定要试试哈哈! 要关注细节啊!
我倒,我竟然没抢到沙发…我也来试一下.
冰仔,不出几个月,你肯定能做出风靡WP界的一流主题 ^_^
AndyWxy & 漫步 » 哈哈,欢迎沙发党光临!
Steven » 哪里哪里,我的水平比起 yichi 或 Nick La 他们差好几个数量级,他们才是真正的大牛。
冷板板也是不错的,先冒个小小泡,来试下
测试一下效果……(逃
试试效果。
快帮我做主题。。。。
漫步 » 感觉没什么灵感哇……真羡慕那些大师级人物
我不急,我可以降低要求,你做个demo出来了,
高人,
我现在改主题的布局都费劲。
sansky :慢慢改吧,哈哈!
这是一条用来测试的留言。
o(∩_∩)o…
先测试下效果,然后慢慢学习慢慢啃^-^
-_-!改不出来效果,看来得慢慢研究了
我也test
bu cuo a
更改样式后的新测试。
试试
改了点东西,再测试测试。
测试测试。
看看效果先~
看看怎样
哦~ 冰仔又改主题了,看看现在的效果是怎样滴,嘿嘿~:-?
更改路径测试
不错
请问一下,首页显示最新留言的插件是什么?谢谢
外加 TEST
SkyLand » 留言是用 Brian’s Latest Comments 实现的。欢迎你,SkyLand。
好东西!
好
不错
我也test
说实话,看不太懂,不过佩服。
我也留言试试!
Hivan’s last blog post..妙用wordpress.com.cn
也试试效果
测试一下
你好,我想用WP建个自己的博客,已经观望了很久了,发现这个模版(http://www.plaintxt.org/themes/sandbox/) Sandbox v1.3 非常不错, 但是惟独没有Ajax 留言功能, 我想在这个模版上添加Ajax 留言功能, 自己按照你这篇文章说的在本地试了N遍了,仍然不行, 希望大哥能帮忙在Sandbox v1.3 这个模版的基础上添加Ajax 留言功能, 十分感谢, 如果做好了请帮忙发邮件至 jlj588#gmail.com 谢谢!
测试+学习
各种功能配合起来,真是感觉很棒啊,有技术太让人羡慕了
asiapan’s last blog post..今日收藏 [2008-02-16]:asiapan @ del.icio.us
你好,请问你的留言部分出现的那个留言者的last blog post是怎么实现的?页面滑动的效果也很棒。
asiapan’s last blog post..淘书爽、车票烦
fdfd
fdfdf
地方
还有细节没考虑啊 留言统计也不够精确啊 呵呵
淡入 测试
云里雾里..
Hivan’s last blog post..FON WIFI全面覆盖东京
ssdfs
sdf
我也测试一下,学习后折腾一下自己的theme
测试一下淡入效果~~~
Test~
test
wo ceshi meiyong
yuanlaizheyanga
test
this is a very good example of Jquery use in ajax
just test
asing’s last blog post..google有特色
重新测试一下。
xczczxcxzcxz
jQuery is good
dsafdsfsdf
test
我太懒了,不过这个是一定要看的。
dddddddddddddddddddddddddddddddddd
再测试多一次
猛击提交……囧
我也来测试一次
sss
赞!
不错
试试
good
SDF
占个位置,挺喜欢jquery的,回头也弄个这样的留言去
嘿嘿,测试一下效果,看看可以的话改到我的GAE留言板上面去:)
我来测试一下,呵呵……
test
我来测试一下
看看,很好
感谢北极冰仔的分享
先来试试怎么样!
还没看清效果
test
看看效果哦
sdfsdfsdfsdfsfasdfsfssdfsd
realy?
testressr
sd
asdfasdfasdfasdfasdf
zxzxzzx
我是来测试的。。。
可以不可以更详细的注解,
有些代码都看不懂..
小弟初学~
@richwelder 哪一段看不懂?
testsadfsdf
ddd
ccc
sdfasdf
asdfasdfasdf
hhhh
我来试试
wwwww
我最近想试试这个。还没有成功着。是不是只做两个文件:comment.js和comment-ajax.php,内容如你提供的,然后上传到主题模板内则可?
然后在header.php内调用jquery及comment.js就能实现?有时间回回我哦,谢谢。
@Jinwen 基本上是的,呵呵,代码可能,可能需要稍稍修改一下。
试下….
fdsfds
mm
mmmmmmmmmmmmmmmmm
test123
asdasasddas
haha
Just a test!
厉害厉害!!!
fffffff
hh
ffff
测试下
顶顶顶
jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。
$.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该对象,但特殊情况下可用于手动终止请求。
$.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数信息。详细参数选项见下。
注意: 如果你指定了 dataType 选项,请确保服务器返回正确的 MIME 信息,(如 xml 返回 “text/xml”)。错误的 MIME 类型可能导致不可预知的错误。见 Specifying the Data Type for AJAX Requests 。
注意:如果dataType设置为”script”,那么所有的远程(不在同一域名下)的POST请求都将转化为GET请求。(因为将使用DOM的script标签来加载)
jQuery 1.2 中,您可以跨域加载 JSON 数据,使用时需将数据类型设置为 JSONP。使用 JSONP 形式调用函数时,如 “myurl?callback=?” jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。数据类型设置为 “jsonp” 时,jQuery 将自动调用回调函数。
——————————————————————————–
Load a remote page using an HTTP request.
This is jQuery’s low-level AJAX implementation. See $.get, $.post etc. for higher-level abstractions that are often easier to understand and use, but don’t offer as much functionality (such as error callbacks).
$.ajax() returns the XMLHttpRequest that it creates. In most cases you won’t need that object to manipulate directly, but it is available if you need to abort the request manually.
Note: If you specify the dataType option described below, make sure the server sends the correct MIME type in the response (eg. xml as “text/xml”). Sending the wrong MIME type can lead to unexpected problems in your script. See Specifying the Data Type for AJAX Requests for more information.
$.ajax() takes one argument, an object of key/value pairs, that are used to initialize and handle the request. See below for a full list of the key/values that can be used.
As of jQuery 1.2, you can load JSON data located on another domain if you specify a JSONP callback, which can be done like so: “myurl?callback=?”. jQuery automatically replaces the ? with the correct method name to call, calling your specified callback. Or, if you set the dataType to “jsonp” a callback will be automatically added to your Ajax request.
jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。
$.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该对象,但特殊情况下可用于手动终止请求。
建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该对象,但特殊情况下可用于手动终止请求
好样的,顶一个大家都来用吧
发发发
大是大非
blalba haaha
返回的POST怎么不管用啊
@dfgfdg 什么是返回的POST?
fasdfa
fadsfasdf
你好 我是出版社的编辑,我看到你博客中的内容,感觉写的非常好,如果想把这些内容和更多的人分享,可以和我联系,把这些东西写成书。
我的邮箱:books_522008@yahoo.com.cn
或者加我的MSN:pyq_19852008@hotmail.com
test
试试效果。
试试看,还行不行
let me see
-_-
ds
帮顶
99000909
哎,我试了n次(n>=10),还是不行。现在我用的不是jquery的留言板。但我却实又想知道jquery的怎样实行。冒昧问句,可否把你模板中相关的几个文件发我看看?
还有问问,url: ‘comments-ajax.php’这句这样写就行,不用绝对路径?
问题多了,睡不着,呵。
@Jinwen 那行要写绝对路径,可能我旁边的注释没写清楚,呵呵。
@Jinwen 你在本站搜索“Plain Theme”,那里面跟我现在用的是一样的。
test
text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~text!~
sdfgdfg
@北极冰仔 谢谢你啦。现在我可以使用了。但发现有个问题,沙发的留言都(第一个)的留言提交后必需刷新页面后才能看到,是不是?我在你的blog上试验一下也是这样的。有解决的办法不?
llllll
@Jinwen 你说的这个问题,是因为我使用了HTML缓存,跟这个Ajax留言没有关系的。
sfdfsdfdsfdsdfsf
额外
gr
b
飞
fefe
沃尔沃
测试
好棒,我一直想要这个效果!
pp
dgdsdfsdsdfsdf
sdfsdfsdfsdf
okok
fristosdlksfomeind window family ok englsih sgsdwilsdf
阿似懂非懂四发放
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
aaaaaaaaaaaaaaaaaaaaa
测试一下而已
呵呵! 留言也没个分页的?? 拉这么久!
我先试下,再改改,好像工程蛮大的
引入 jQuery 框架这个怎么引入啊,JS我知道引入
失败,失败
试试下
sdfsdf
dasdasdasdas
dajdfjajsdktest from source
test
test
test
edwadasdasd
过来试试
现在还是AJAX吗?
试试
safdsa
看下什么效果的!呵!
test
aaaaa
初次到访。。
ddddddddddddddddddddddddd
fsdfsdfsdf
fsdfsd
再测试一下!!!
没看到淡出的效果啊?
你好 我是出版社的编辑,我看到你博客中的内容,感觉写的非常好,如果想把这些内容和更多的人分享,可以和我联系,把这些东西写成书。
我的邮箱:books_522008@yahoo.com.cn
或者加我的MSN:pyq_19852008@hotmail.com
f
fasdf
shishi
fgfgfgfg
rrrrrrrrrrr
楼主很强悍啊!
good
测试测试
gfhfghgfh
测试试试看
sdsdf
dddd
我也试试
!!!!!!!!!!!
我也试试
!!!!!!
shshi
瞧一瞧。。。
我再瞧一瞧
还是不错的!!!
最后一下。。
Add a note
Back to blog post
Add Note
heihei
adfasdfasdf
234324234234
rtretret
看书看
gf
asdasd
哈 我测试一下
字段定义都不一样
整晕了~~不搞了
额~
无意中到的~谢谢博主分享~
终于搞上去了~~
看看你这里效果
好像跟我的不一样~
热阿斯顿发得分 阿斯顿飞
有些地方还是没太弄明白~~
test
aaaaaa
thanks for sharing…
THIS IS A TESTING POST.
其实看不太懂这些代码,试一下。
rr3r3
ererere
看看效果。。
偶是路过的。看看效果。
一直没成功啊
测试一下
我不喜欢用插件,那样容易冲突处错误。
貌似没ajax成功。
估计得网速好的时候才能使用,不过就算没出现Ajax效果,也可以正常留言。
竟然失败了,看不到。。。
@沿阶草 你用的是手机留言的吗?可能你的移动浏览器不支持javascript.
请问如何引入jQuery?
@chommy 使用 script 标签的 src 属性,这里不好写 HTML 代码,你可以查看这个页面的源代码看看。
@shamas 没成功的原因是?
@chommy 使用 script 标签的 src 属性,这里不好写 HTML 代码,你可以查看这个页面的源代码看看。
留个言试一下.~
不好意思 再试一下
K2发表评论后这个输入框会隐藏。
你的这个则是先灰色锁定,一会再解开。
效果不好看。
@沿阶草 谢谢意见。
稍微改进了一下。
因为我的主题每个评论样式不一样,根据ID数分奇偶的(看看我的就知道)。你这个不是。
所以我用这方法实现ajax comment的时候发出新的评论样式和有时和上面这个一样的,一样,和上面的不协调。但是刷新一下就正常了。
不知道有没有方法刷新整个评论页面的?
@沿阶草 comments.php 里面有目前的评论数量,在 ajax 提交之前判断一下奇偶就可以了。
学习中
学习
alert(“shishi”);
先测试下效果,然后慢慢学习慢慢啃
dgert
cvb
‘
感谢分享
let me test it.!
大发生
我来试试
我也来试试
test 图标怎么加不上
test
@freefeet 先把图片隐藏,在 beforeSend 中显示,success 后继续隐藏。
测试留言的奇偶——偶
测试留言的奇偶——奇
测试留言的奇偶之二——偶
测试留言的奇偶之二——奇
再次测试,如果我连续点送出留言呢???
看来还不错,但是我连续点留言留言只送出一条,commentbox fadein以后怎么出了个红色提示的错误,说貌似我提交过了???
@uxspy 是的,提交重复留言是不会成功的。
asdasdasdd
@北极冰仔 测试邮件回复。
@北极冰仔 再次测试邮件回复。
@北极冰仔 第三次测试邮件回复。
@北极冰仔 第三次邮件回复测试失败,这是第四次。
@北极冰仔 第五次测试。
@北极冰仔 第六次测试。
@北极冰仔 第七次。
@北极冰仔 第八次。
@北极冰仔 第九次测试。
@北极冰仔 第十次测试。
@北极冰仔 第十一次测试。
@北极冰仔 第十二次测试。
@北极冰仔 测试得差不多了。
@北极冰仔 第十四次测试。
@北极冰仔 第十五次,失败就是成功。
@北极冰仔 第十六次,成功就是失败。
@北极冰仔 第十七次
@北极冰仔 最后一次测试。
测试
fdsfdsfdsfdsfsd

fdsfdsfds
fdsfdsf
很好,很强大
看看
试一下效果,好的话就学习学习。。。。
看看
很好,很强大
我是来测试效果的。
我也想把自己的主题改造改造。
很棒的教學~~謝謝
按照上述的方法,不能成功啊,晕死。
Test
测试以下
daDADada
不喜欢有动态效果。干脆一点的好
dfsafsdf
ddddddddddddddddddd
顶一下
@dsd
试一个看看
测试了一下,这个评论不错。
wordpress 2.7 主题好像无法实现
变成了测试文章了。。垃圾评论还不少。
hgshs
8cuo
!
TEST
我能不能測試一下哈哈~
請問隔行不同的樣式odd,用了ajax評論之後如何實現?
@Leeiio 我的做法也不完美:提交留言的时候会把当前留言的数量一并 POST 过去,然后再对其进行奇偶判断。当前的缺点是,留言以 AJAX 方式提交后,留言数量并没有更新,所以同个人连续提交两次留言就可能出现样式相同的情况。其实改起来很简单,但是我很懒,所以……
@北极冰仔 当前留言的数量應該不是總的評論數量吧?那怎麼獲取的當前文章的評論數量的?
@Leeiio 留言数量对应当前的日志,我的具体做法是在 comments.php 中评论框下面添加一行(实际写的时候需要加上两边的尖括号):
input type=”hidden” name=”comment_count” value=”" /
$countComments 其实就是 $post->comment_count
这样提交留言的时候,留言数量就提交至 comments-ajax.php 了,在其中对 $_POST['comment_count']+1 进行奇偶判断就可以啦
最好在提交留言成功以后,对日志页面中的 value=”" 里面的数值加1
@北极冰仔 恩,感謝,已經搞定了,不過如果不刷新頁面同時提交兩次,樓層數不會改變的,不知道你這裡是怎樣的,我回覆看看?應該是jQuery的關係吧
這是測試留言,抱歉,請刪除吧~
@Leeiio 我这里就是这样的,懒得改了:)
@Leeiio 没关系,我这里全是测试留言。
stetsttestste
@Neil
test info
gbag
http://g.cn
来试试
aaaaaaa
呵呵,我来看看,这个
gggggggggg
测试留言。
试试效果
不错
向楼主 学习
嗯,看看是不是我想要的效果
adsfsadf
我也测试一下~
试试效果
还可以测试么?
asdfadsfasf
试试效果
测试下
fdsfsdfdd
test
55
phpphpphpphpphp
fdfdg
太太太太太太太太太太
11111111111111

@33333 75656
@33333
也试试
增加分页
fdafdafd
测试!
fdsasa
反反复复
测试下,能效果哪样效果
谢谢
opopop gblfjhs
我现在有些不明白~
comment-ajax.php里,kill_data的意思应该是用来清除缓冲区,但是ob_end_clean()就会把缓冲区清除了啊~kill_data应该不需要callback了吧?
ceshi
try 一个
传说中的ajax评论。
fdfsdf
test
sdf
我也测试测试。。。。。。。
@fds 测试下回复的效果。。。。
自己回复自己呢??????
只能回复一次????
测试看看,什么效果?
真的可以吗?
真的可以啊
路过看看。。。
我来测试一下
试一试
测试评论
第二次测试
试了提交后要刷新页面才能看到留言,郁闷。
最后一部分的 li 元素(对应于一条留言)需要修改到与你自己的 comments.php 相适应:
这个部分该怎么写,我试了几次都不行,能给个例子吗?
我想再试一次效果…
很喜欢你这个效果。按你的步骤,那两个文件都解决啦,只是还有一步:
“在header.php内调用jquery及comment.js”
这句我还是不太懂,需要加入哪两句代码啊?我在你的源文件也没看见。
太菜了,请见谅 – - 如果可以的话就回复粘贴给我吧,感激了。
试试,呵呵呵
测试一下啊
我来测试一下效果哈
testttt
ajax!!
怎么我老是搞不定这个?烦死了。
都跑来测试~ 偶也不例外~
用起来是什么样子呢,我也来看看
确实很不错啊。
sssssssssssss
很不錯
第二次测试。为啥我一直整不成功呢
測試
为什么我在我的 comments.php 中找不到 pinglist 这个东东呢?
@landian01 需要自己添加,为把 pingback 和 trackback 与正常留言分享开来,具体方法站内搜索。
testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest
测试一下。。我blog上还没成功。。
这是一条用来测试的留言
幅度是否撒旦法
fdsfdsf
sdfds
那些avatar看的我眼花缭乱。。。
测试留言效果
先看看效果
的是发的说法都是发的萨芬的萨芬倒萨
测试
123416
4
164984
试一试
测试一下
囧 这儿真是实验室了么
chh
牛啊。。飞啊。。测试
我想问一下怎么引入jquery框架?引用那个JS我明白怎么回事,那个框架如何弄?我下了那个plain theme看了没看到哪句引用jquery的。
难道是这句?var base=”"; var md5=”";
希望回答一下。谢谢
试试效果
效果
我来看过效果了么?
好东西啊
看下怎么样
是这里么?
php?不懂///
我也试看看效果,或许我也用得上呀。。。
不大会弄呢,老大能帮我弄下吗?
hahaha
sssssss
12
EWWWWWWWWW
@bababa
测试效果来了
谢谢你的分享,代码很不错。。。看下效果 呵呵
ffffff
试一试
很好玩呢
撒旦法撒旦法上东方贵
阿苏大发所担负
,,,,,,,,
好吧……………….我留言试试…
学习了!
留言实验
阿大事发生
好历害。1!!!!!!!!!
试下
etr
eeeeeee
try out
来淘金的!呵呵
我也试试!~~哈哈~
试试