通过Ajax加载Wordpress帖子

时间:2013-05-23 17:31:41

标签: javascript jquery ajax wordpress

所以,我有这个<div>,其中包含了我的博文。它的类是.post。我想要做的是,每当有人点击小部件区域的最近帖子时,内容都是通过Ajax加载而不是刷新页面。

这是我的代码

jQuery(function()
{
    jQuery(".umrp-list li a").click(function(){ //here I select the links of the widget
        var post_url = jQuery(this).attr("href");
        jQuery(".post").html('<div class="loading">Loading Content...</div>');
        jQuery(".post").load(post_url);
        return false;
    });
});

所以我有两个问题

  1. 每当我点击“最近的帖子”链接时,内容会加载我要加载的位置,但点击后我的网页会空闲/冻结约2秒钟。为什么会这样?

  2. 当我第一次点击时,除了上面描述的细节之外,一切都有效。当我第二次点击(另一个链接甚至相同)时,它不是加载我点击的帖子,而是将我的整个网页加载到.post容器上。有没有想过为什么会这样?

2 个答案:

答案 0 :(得分:1)

听起来你正在同步发送请求。同步操作是阻塞的,而异步操作允许UI在操作在幕后完成时继续运行。

至于第二个问题,听起来像jQuery(this)以某种方式指向文档而不是元素的上下文。第二次检查你的“this”值,它可能会为你提供一些见解。

答案 1 :(得分:0)

所以问题是在single.php(这是存储博客文章模板的地方),我忘了删除<?php get_header(); ?><?php get_footer(); ?>现在一切都很棒!