网站中的每个用户都有一个个人资料页面。说
http://www.website.com/profile/profile-id/
在左侧列的此页面中,将显示用户带有小摘录的所有帖子。点击任何帖子后,将从数据库中提取完整的帖子,并使用AJAX显示在右栏中。
虽然每个帖子也有单独的网址,但任何用户都可以使用它的网址直接阅读帖子,例如
http://www.website.com/post/post-id/
我在POST下添加了DISQUS评论。这些评论在帖子页面中加载时没有任何问题。我面临的问题是在使用AJAX的配置文件页面中,我没有使用#!
来处理AJAX请求,我希望在此处加载帖子页面的注释。
使用了DISQUS reset
代码,
var reset=function (post_id, post_title)
{
DISQUS.reset(
{
config: function ()
{
this.page.identifier = post_id;
this.page.url = "http://www.website.com/post/"+post_id+"/";
this.page.title = post_title;
this.language = "en";
alert(this.page.url); // This alerts correct as http://www.website.com/post/10001/ (Say)
},
reload: true
});
};
从AJAX响应的成功部分调用此重置函数,例如,
success: function(data)
{
if(data.exist==1)
{
$('section.load-post').html(data.post_code); // Load the post in the right column
reset(post_id, data.title); // At any instance reset(10001, sample title)
}
}
问题是即使DISQUS注释重新加载,关于配置文件URL加载的注释
http://www.website.com/profile/profile-id/
不是相应的帖子网址,即
http://www.website.com/post/post-id/