作为免责声明,我是 jQuery 的清道夫/黑客,而不是熟练的开发人员。
我正在尝试构建 Twitter 式的分页,这几乎可以正常工作。
我正在使用 PHP 和 MySQL 以 JSON 格式检索数据,这些数据以以下形式到达我的手中:
[
{
"bookmark_id":"5507",
"creation":"Mon 16th Jul 2012",
"url":"http:\/\/www.bbc.co.uk\/news\/science-environment-18833386",
"title":"Light trick to see around corners ..."
}
...
]
代码本身是:
<script type="text/javascript">
function paginate(limit) {
if (limit == 0) { count = 0; } else if (limit > 0) { count += 10; }
$(".flash").show();
$(".flash").fadeIn(400).html("Loading...");
var data = "limit=" + count;
$.ajax({
type: "POST",
url: "<?php echo config_item('base_url'); ?>topics/jq_get_bookmarks_for_topic_by_tag_as_object/" + <?php echo $results['select_topic'][0]['topic_id']; ?>,
data: data,
cache: false,
success: function **(index, element)** {
alert(index);
$(".flash").hide();
$(".load-link").addClass("link-none");
for (var i=0;i<element.length;i++) {
$("#data-topics-bookmarks-tags").append('<tr><td>[<a href="<?php echo config_item('base_url'); ?>bookmarks/view/' + **element.bookmark_id** + '">View</a>] [<a href="<?php echo config_item('base_url'); ?>bookmarks/visit/' + element.bookmark_id + '" target="_blank">Link</a>] <a href="<?php echo config_item('base_url'); ?>bookmarks/edit/' + element.bookmark_id + '" title="Edit ' + element.title + '">‘' + element.title + '’</a></td><td>' + element.creation + '</td></tr>');
}
}
}
);
}
paginate("0");
</script>
触发加载更多数据的链接是:
<p><a href="#load" onclick="paginate('10')">Load Bookmarks</a></p>
一切正常......除了我实际上能够访问数据并将其显示为“未定义”以外的任何内容之外。
在我标记为粗体的两个区域中,我已经尝试了所有我能想到的组合。
当我单击加载链接时,它会按预期附加表格,但每个项目都是“未定义的”。
是的,数据是如上所述的;我从警报(索引)中获取数据。
我敢肯定,对于我们当中的精通者来说,这是一个简单的解决方法,但我不在其中。