搜索
当前所在位置: 首页>网站问题

pbootcms使用api接口实现Ajax无刷新加载更多文章

发布时间:2023-12-03 01:11:38 作者:超级管理员 点击:71 【 字体:

实现方法

pbootcms自带了API接口,我们可以通过这个API接口http://IP/api.php/list/ 调取分页所需的数据。

我建议这种分页,不要一上来就全部使用Ajax获取数据,因为Ajax是不会被百度收录的。

我建议的做法是,在列表页先使用模板标签输出一些数据。例如:

<div class="newslist">
    <ul>
    {pboot:list num=6}
    <li>
        <a href="[list:link]">[list:title]</a>
    </li>
    {/pboot:list}
    </ul>
    <a href="javascript:;" class="loadmore">加载更多</a>
</div>

先读取6条数据,让搜索引擎最少能抓取到最新的6条文章。

然后再使用Ajax去调取剩余的新闻内容,实现点击加载更多的效果。

下面就是核心AJAX调取API数据部分代码

<script>
    $(function(){
        var Page = 1;
        // 每页展示12个
        var Num = 6;
        $(document).on('click','.loadmore',function(){
            // 页数
            Page++;
            $.ajax({
                type: 'POST',
                url: '/api.php/list/{sort:scode}/page/' + Page + '/num/' + Num + '/order/sorting',
                dataType: 'json',
                data: {
                    appid: '{pboot:appid}',
                    timestamp: '{pboot:timestamp}',
                    signature: '{pboot:signature}',
                },
                success: function( response, status ){
                    console.log(response);
                    var Data = response.data;
                    if( response.code ){
                        //获取数据成功
                        var Html = '';
                        jQuery.each( Data, function( index, value ){
                            //构建HTML
                            Html +=  '<li>';
                            Html +=  '    <a href="'+ value.contentlink +'">'+ value.title +'</a>';
                            Html +=  '</li>';
                        });
                        // 为了测试,延迟1秒加载
                        setTimeout(function(){
                            // 插入数据到页面,放到最后面
                            $('.newslist ul').append(Html);
                        },500);
                    }else{
                        $('.loadmore').slideUp();
                    }
                },
                error: function(xhr, type){
                    console.log('Ajax error!');
                }
            });
        });
    });
</script>

简单解释一下这个代码,从第二页开始读取,每次读取6条。为什么从第二页开始读取?因为前面我们已经在模板里输出6条数据啦。


注意事项

请注意在后台开启WebAPI,如下图。


其中API强制认证,可以按你的实际情况选择启用。


阅读全文
相关推荐

HTML5在线教育培训课程网站模板

HTML5在线教育培训课程网站模板
查看演示 下载源码HTML5,教育培训,网络教育HTML5在线教育培训课程网站模板是一款适合从事网络教育服务行业HTML5网站模板下载。提示:本模板调用到谷歌字体库,可能会出现页面打开比较缓慢。...

pbootcms列表序号从2、3、4或者其他数字开始

pbootcms列表序号从2、3、4或者其他数字开始
需求描述我们需要给文章列表显示一个序号,特殊情况下,序号可能需要从2,3或者4开始。示例代码{pboot:listscode=*}<ahref="[list:link]">[list:ioperate=+1]、[list:title]</a>{/pboot:list}代码解释[list:i]代码计数是从1开始,我们直接利用pbootcms的运算符[list:i op...

HTML5婴幼儿早教启蒙机构网站模板

HTML5婴幼儿早教启蒙机构网站模板
HTML5婴幼儿早教启蒙机构网站模板是一款从事婴幼儿早教启蒙服务机构宣传网站模板下载。提示:本模板调用到谷歌字体库,可能会出现页面打开比较缓慢。查看演示下载源码...

怎么判断pbootcms网站是否容易被黑?

怎么判断pbootcms网站是否容易被黑?
近期大量网站被黑,各种CMS都有被黑的情况。那么怎么才能判断自己的网站是否也容易被黑被攻击呢?其实最近半年被黑的网站都有一个共性,那就是URL。我们可以从URL上去判断网站是不是容易被黑。例如新闻页面地址:http://www.xxxxxx.com/news/假如我们把地址加上一串字符串如:http://www.xxxxxx.com/news/aaa.bbbhttp://www...

pbootcms一个网站绑定多个域名,访问不同的域名显示不同的备案号码的方法

pbootcms一个网站绑定多个域名,访问不同的域名显示不同的备案号码的方法
需求描述客户的网站绑定了多个域名,应工信部要求底部应正确显示对应的备案号码。那么我们可以利用pbootcms的if标签来实现访问对应域名显示不同的备案号码。完整代码如下{pboot:if('{pboot:httpurl}'=='http://www.aaa.com')}<ahref="https://beian.miit.gov.cn/">鲁ICP备123456号...

变现新途径!视频号“创作分成计划”上线 评论区广告来了

变现新途径!视频号“创作分成计划”上线 评论区广告来了
日前,视频号宣布“创作分成计划”上线,通过评论区广告助力创作者获得收益,再添变现途径。据悉,视频号创作分成计划是基于视频号生态体系,符合一定条件的视频号优质原创作者,可在原创视频评论区通过展示广告内容,获取广告收入的模式。优质原创作者发表视频内容并声明原创,该视频的评论区则有机会向用户智能展示最适合...

织梦后台文档列表无法找到404错误问题

织梦后台文档列表无法找到404错误问题
问题描述客户反应织梦后台文档列表突然打不开,提示404错误页面,之前一直正常。其他菜单一切正常,唯独文档列表打不开。解决思路检查文档列表页面content_list.php文件也都正常,排除文件被误删情况。第一反应是不是网站被黑了,经过一系列排查后发现网站并没有被黑。那么就应该是主机设置或者是程序参数设置有问题。登录宝...

皮卡丘动态表情包gif素材必备,爱心动画代码下载

皮卡丘动态表情包gif素材必备,爱心动画代码下载
这是一款皮卡丘动态表情包gif素材必备,爱心动画代码下载,画面中呈现了皮卡丘在爱心雨背景图中眨眼的动画效果,卡通有趣,欢迎大家下载。...

Sqlite数据库删除数据后,文件大小不变问题

Sqlite数据库删除数据后,文件大小不变问题
需求描述客户的网站使用的sqlite数据库,因pbootcms后台启用了“记录蜘蛛访问”功能,导致数据库文件越来越大。后台“清空日志”后,发现数据库文件大小并没有任何变化。解决方法通过sqlite数据库管理软件,执行以下sql命令VACUUM即可。执行命令后再看看数据库文件是否已经变小。...

pbootcms邮件通知同时发送到多个邮箱

pbootcms邮件通知同时发送到多个邮箱
pbootcms自带邮件通知,可以发送留言通知、表单通知、评论通知。有时候邮件发送给一个人,可能这个人比较忙,不能及时查看邮件,那么能不能同时发送给多个邮箱呢?其实pbootcms已经支持同时发送给多个邮箱的功能,下边我们介绍下如何设置同时发送给多个邮箱。其实我们只需要在信息接收邮箱输入框输入多个邮箱即可,多个邮箱...
返回顶部