这个是单独可以使用的ajax评论代码,来源 卢哥主题 。
直接调整好相应的id和类就可以使用,配合页面ajax或pjax都可以,不用willin的那么复杂。
// Ajax评论——————————————————————————————————————————————————————
var home_url = document.location.href.match(/http:\/\/([^\/]+)\//i)[0]; // 主页地址,用于下面的提交函数
function replaceUrl(url, domain) {
return url.replace(/http:\/\/([^\/]+)\//i, domain)
}
function ajaxSubmit(frm, fn, errorfn) { // 封装成ajax提交函数
var dataPara = getFormJson(frm);
$.ajax({
url: replaceUrl(frm.action, home_url),
type: frm.method,
data: dataPara,
success: fn,
error: errorfn
})
}
function getFormJson(frm) { // //处理表单参数,转化成Json形式
var o = {};
var a = $(frm).serializeArray();
$.each(a,
function() {
if (o[this.name] !== undefined) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]]
}
o[this.name].push(this.value || '')
} else {
o[this.name] = this.value || ''
}
});
return o
}
//ajax评论提交
$(document).ready(function() {
ajaxComments();
});
function ajaxComments() {
$('#respond form').bind('submit', // 提交时用bind方法隐藏评论表单
function() {
$('#comments').fadeTo("slow",0.2); // 评论区淡出动画
ajaxSubmit(this, //提交函数开始
function(data) { // 请求数据
$("#comments").html($(data).find("#comments").html());// 新加载的评论模块替换原来的评论模块
//$("#_loading").remove();
$('#comments').fadeTo("slow",1); //淡入动画
$("body,html").animate({scrollTop:$('#comments').offset().top}, 1300); // 定位返回评论ID顶部
ajaxComments(); //重新载入
},
function(request) { // 获得请求后(加载成功后)
alert($(request.responseText).filter("p").text()); // 弹出警告
$('#comments').fadeTo("slow",1); //淡入动画
});
return false;
})
}
本站文章除注明转载/出处外,均为本站原创或翻译。若要转载但请务必注明出处,尊重他人劳动成果。
转载请注明出处链接 : https://www.inlojv.com/4260.html
