当用户在数据库中添加行时,我正在尝试使用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"> </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调试它,但似乎一切都没问题。任何帮助将不胜感激!
答案 0 :(得分:1)
如果没有看到生成的html,我会说问题是自动关闭a
标记:
<a href="' . getBlogUsername($blog["url"]) . '" target="_blank" />
^ here
只需将其更改为:
<a href="' . getBlogUsername($blog["url"]) . '" target="_blank">