jquery load没有显示特定的href

时间:2013-01-15 20:52:30

标签: php jquery ajax load

当用户在数据库中添加行时,我正在尝试使用jQuery加载功能更新页面。

这是我的代码:

PHP文件:

$blogs = getBlogsFromDB();
foreach ($blogs as $blog) {
    if (strlen($blog["title"]) > 23) {
        $blog["title"] = substr($blog["title"], 0, 20) . '...';
    }

    echo '<div class="image-box">
            <span class="drag-pointer">&nbsp;</span>
            <!-- Blog picture -->
            <div class="blog-picture">
                <a href="' . $blog["url"] . '" target="_blank"><img src="' . $blog["avatar"] . '" alt="" /></a>
            </div>
            <!-- end blog picture -->

            <!-- blog name -->
            <p class="blog-name"><a href="' . getBlogUsername($blog["url"]) . '" target="_blank" />' . $blog["title"] . '</a></p>
            <!-- end blog name -->

        </div>';
}

这是 jQuery部分:

$.ajax({
    type: "POST",
    url: "add_blog.php",
    data: dataString,
    dataType: 'json',
    success: function(response) {
        if (response.status == "1")
        {
            $('#add-blog').html("<div id='message'></div>");
            $('#message').html("<h2>Success! Your blog is added!</h2>")
            .hide()
            .fadeIn(500, function() {
                $('#message').append("<img id='checkmark' src='js/images/check.png' />");
            });
            $('#blogs').load('blogs.php');
        }
    }
});

我在数据库中添加一行后,在页面上加载了blogs.php,但它没有显示这些链接:

                <!-- blog name -->
                <p class="blog-name"><a href="' . getBlogUsername($blog["url"]) . '" target="_blank" />' . $blog["title"] . '</a></p>
                <!-- end blog name -->

我确定问题不在PHP函数中,因为我尝试过使用硬编码的URL。它只显示标题($ blog [“title”])。

PS:我试过用Firebug调试它,但似乎一切都没问题。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

如果没有看到生成的html,我会说问题是自动关闭a标记:

<a href="' . getBlogUsername($blog["url"]) . '" target="_blank" />
                                                                ^ here

只需将其更改为:

<a href="' . getBlogUsername($blog["url"]) . '" target="_blank">