Javascript AJAX加载更多函数乘以旧数据?
我有一个PHP代码,可以从数据库中的wordpress帖子创建JSON数据 我使用AJAX将这个JSON加载到我的html页面上 以上方法很好 现在我需要添加一个加载更多按钮,这样每次按下按钮时,我们都会加载另外10篇文章,并将它们附加/添加到已经加载的文章中,而无需删除旧文章并重新添加 因此,这是我加载更多内容的AJAX代码:Javascript AJAX加载更多函数乘以旧数据?,javascript,php,jquery,ajax,wordpress,Javascript,Php,Jquery,Ajax,Wordpress,我有一个PHP代码,可以从数据库中的wordpress帖子创建JSON数据 我使用AJAX将这个JSON加载到我的html页面上 以上方法很好 现在我需要添加一个加载更多按钮,这样每次按下按钮时,我们都会加载另外10篇文章,并将它们附加/添加到已经加载的文章中,而无需删除旧文章并重新添加 因此,这是我加载更多内容的AJAX代码: var i = 0; $(document).on("click", ".loadMoreBtn", function () { $.ajax({
var i = 0;
$(document).on("click", ".loadMoreBtn", function () {
$.ajax({
url: 'https://some-domain.com/index.php?t=' + mainCat + '&page=' + i + '',
dataType: 'json',
jsonp: 'jsoncallback',
timeout: 5000,
success: function (data, status) {
if (!$.trim(data)) {
}
else {
}
$.each(data, function (pi, item) {
var id = item.id;
var img = item.img;
var title = item.title;
var date_added = item.date_added;
var item = '' + title + '';
$('.myDiv').before(item);
i++;
});
},
error: function () {
//error handling////
}
});
});
这是我的PHP代码:
当我点击“加载更多”按钮时,它的行为很奇怪!它基本上会添加旧数据,并将相同的数据相乘,同时添加/加载一些新数据
我知道我的PHP代码中缺少了一些东西,但我不知道是什么
有人能就这个问题提出建议吗
提前谢谢 错误在wordpress查询中。posts\u per\u页面设置将加载多少篇文章。设置为应该加载多少个帖子,比如12个或更多 要设置为$page参数的参数已分页。 例如,$query=新的WP_查询数组“paged”=>6;//第6页
你也可以使用WP API而不是滚动你自己的链接你提供的链接有帮助,但是你的答案不应该是“offset”而不是paged吗?你也可以使用offset,但在给出值之前,你需要计算应该偏移多少篇文章。例3。每页12篇文章的页面3x12=36,但使用paged参数可以为您完成所有这些:
<?php
header('Access-Control-Allow-Origin: *');
header('Content-Type: application/json');
$path = $_SERVER['DOCUMENT_ROOT'];
include_once $path . '/wp-config.php';
include_once $path . '/wp-load.php';
include_once $path . '/wp-includes/wp-db.php';
include_once $path . '/wp-includes/pluggable.php';
$t = $_GET['t'];
$page = $_GET['page'];
$posts = get_posts(array(
'posts_per_page' => $page, //add -1 if you want to show all posts
'post_type' => 'post',
'post_status' => 'publish',
'tax_query' => array(
array(
'taxonomy' => 'category',
'field' => 'slug',
'terms' => $t //pass your term name here
)
))
);
$output= array();
foreach( $posts as $post ) {
$feat_image = wp_get_attachment_url( get_post_thumbnail_id($post->ID) );
$mysqldate = $post->post_date;
$phpdate = strtotime( $mysqldate );
$mysqldate = date( 'F d Y', $phpdate );
// Pluck the id and title attributes
$output[] = array( 'id' => $post->ID, 'title' => $post->post_title, 'date_added' => $mysqldate, 'img' =>$feat_image );
}
echo json_encode( $output );