0

当用户在数据库中添加一行时,我正在尝试使用 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 对其进行调试,但那里似乎一切正常。

任何帮助将不胜感激!

4

1 回答 1

1

在没有看到生成的 html 的情况下,我会说问题出在自闭合a标签上:

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

只需将其更改为:

<a href="' . getBlogUsername($blog["url"]) . '" target="_blank">
于 2013-01-15T20:55:18.453 回答