app.json中:

"window": {"enablePullDownRefresh": true                     //是否开启当前页面下拉刷新
}

wxml中:

<view class="info" wx:for="{{contentlist}}" wx:key="key"><input hidden="{{hidden}}" value="{{item.id}}"/><text>{{item.title}}</text><text class="time">{{item.inputtime}}</text><view><text>{{item.content}}</text></view>
</view>

js中:

data: {hidden: true,                                 //隐藏表单控件page: 1,                                        //当前请求数据是第几页pageSize: 10,                                   //每页数据条数hasMoreData: true,                              //上拉时是否继续请求数据,即是否还有更多数据contentlist: [],                              //获取的数据列表,以追加的形式添加进去
},
// 获取分页列表
getInfo: function (message) {var that = this;wx.showNavigationBarLoading()                 //在当前页面显示导航条加载动画wx.showLoading({                                //显示 loading 提示框title: message,})wx.request({url: 'http://localhost:88/wechat/test.php',  //本地设置不校验合法域名data: { page: that.data.page, count: that.data.pageSize },method: 'post',header: { 'content-type': 'application/x-www-form-urlencoded' },success: function (res) {var contentlistTem = that.data.contentlist;if (res.data.length > 0) {wx.hideNavigationBarLoading()     //在当前页面隐藏导航条加载动画wx.hideLoading()                    //隐藏 loading 提示框if (that.data.page == 1) {contentlistTem = []}var contentlist = res.data;if (contentlist.length < that.data.pageSize) {that.setData({contentlist: contentlistTem.concat(contentlist),hasMoreData: false})} else {that.setData({contentlist: contentlistTem.concat(contentlist),hasMoreData: true,page: that.data.page + 1})}} },fail: function (res) {wx.hideNavigationBarLoading()wx.hideLoading()fail()},complete: function (res) {},})
},/**
* 生命周期函数--监听页面初次渲染完成
*/
onLoad: function (options) {// 页面初始化 options为页面跳转所带来的参数var that = thisthat.getInfo('正在加载数据...')
},/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {this.data.page = 1this.getInfo('正在刷新数据')
},/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {if (this.data.hasMoreData) {this.getInfo('加载更多数据')} else {wx.showToast({title: '没有更多数据',})}
},

后台php中:

<?php
// 字符串截取,多余用"..."代替
function cut_str($str, $chang){$len = mb_strlen($str, 'utf-8');if($len > $chang){return mb_substr($str, 0, $chang, 'utf-8').'...';}else{return $str;}
}
// 设置数据库主机名,账号,密码
$conn = mysql_connect("127.0.0.1", "username", "password")or die("Mysql Connect Error");
// 数据库库名
mysql_select_db("hiretianxia");
// 设置编码,否则可能会出错
mysql_query("SET NAMES UTF8");
// 设置时区,避免出错
ini_set("date.timezone", "PRC");
// 分页查找,从小程序中获取传值
$page = $_POST['page'];
$count = $_POST['count'];
$ind = ($page - 1) * $count;
$sql = "select * from article order by id desc limit ".$ind.', '.$count;
$result = mysql_query($sql, $conn);
if (mysql_num_rows($result) > 0) {// 输出小程序数组$data = array();while($row = mysql_fetch_array($result)){//键值对必须用""包裹,不能用'',否则会报错$zifu = '{"id":"'.$row['id'].'","title":"'.cut_str($row['title'], 8).'","content":"'.cut_str(str_replace('&nbsp;', '', strip_tags(htmlspecialchars_decode($row['content']))), 24).'","inputtime":"'.$row['inputtime'].'"}';//将json格式的字符串解码成对象,加true参数时解码成数组$data[] = json_decode($zifu);}//将请求结果转换为json格式,微信只能对json格式的数据进行操作echo json_encode($data, JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT);
}
mysql_close($conn);
?>

注意:以下代码php5.4以上才支持。

JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT

微信小程序中的加载更多(即列表分页)相关推荐

  1. 微信小程序上拉加载更多

    微信小程序上拉加载更多 无论是微信小程序还是其他前端框架,都会遇到上拉加载(懒加载)和下拉刷新这种问题.其实理清楚什么时候请求数据.请求返回的几种情况,那么做这个懒加载就很简单了. 一.首先,固定一个 ...

  2. 微信小程序 上拉加载更多

    来个上拉刷新,解决一下上拉问题.上拉小伙伴除了用微信小程序自带的onReachBottom外,最多用的就是scroll-view的上拉加载啦.但是呢,scroll-view上拉加载会一到底部就不断的触 ...

  3. 微信小程序下拉加载更多 带后台 解决加载的内容 是新加载的view中最后一个view

    问题在于数据库查询语句 limit加了两个参数 limit m,n 去掉后面的n 没问题了 wx.request({ url: 'http://localhost:3030/xcxmvc/nr/dl' ...

  4. 微信小程序上拉加载更多数据

    data: {curpage: 1,list: null }, onLoad: function() {wx.showLoading();var _this = this;/**初始化list*/_t ...

  5. 微信小程序 - 上拉加载更多组件

    详情用例看demo,点击下载示例:loadmore 转载于:https://www.cnblogs.com/cisum/p/10430907.html

  6. 微信小程序上拉加载流程

    微信小程序上拉加载流程 1.首先需要在微信官方文档把scroll-view这个方法引入进来,然后使用这个方法,在样式里面写scroll-y,代表的是上下滑动,然后给滑动的盒子一个高度,100vh,然后 ...

  7. 微信小程序图标不支持html,微信小程序实现自定义加载图标功能

    效果图 实现思路 1.首先通过HTML+CSS实现加载动画的静态效果: 2.根据需求给每个动画设计不同的动画效果. 例如第一个加载图标的静态绘制 1.首先确定动画的盒子宽高: 2.设置盒子中每一个长方 ...

  8. 微信小程序之下拉加载和上拉刷新

    微信小程序之下拉加载和上拉刷新 微信小程序下拉加载和上拉刷新两种实现方法 方法一:onPullDownRefresh和onReachBottom方法实现小程序下拉加载和上拉刷新 首先要在json文件里 ...

  9. 微信小程序封装懒加载图片

    微信小程序封装懒加载图片 js /components/LazyImage/index.js // components/LazyImage/index.js Component({/*** 组件的属 ...

最新文章

  1. Apache Ranger源码编译及使用
  2. ACM MM 2022 Call for Papers
  3. CAP定理(CAP theorem)
  4. 现在资本进入社区团购,大搞补贴战,算不算涉嫌扰乱市场,垄断?
  5. 抽象类与接口的区别与联系
  6. Hibernate怎么提升数据库查询的性能 (1)
  7. 智乃的数据库(STL+小技巧)
  8. Clojure 1.7引入Transducers,提高跨平台支持度
  9. Perf -- Linux下的系统性能调优工具
  10. 腾讯云和阿里云短信接口区别
  11. 张宇八套卷(四)复盘
  12. Circuit Design 贴片晶振的区分
  13. cannot connect to X server
  14. 手机HTML拼图验证,jQuery支持移动端的滑动块拼图验证插件
  15. laravel使用scout和elasticsearch中文分词ik
  16. 深度学习的过拟合与欠拟合问题的介绍与解决方案
  17. 香港城市大学全奖PhD/联培PhD/博后/RA
  18. 基于CST相控阵天线快速设计方法
  19. 量化交易系统用例图(一)
  20. Verilog学习笔记HDLBits——Finite State Machines(1)

热门文章

  1. Bridged(桥接模式)
  2. live555 推RTSP音视频流总结(一) 交叉编译
  3. pycharm代码上传github教程
  4. react 验证码组件_使用React.JS和Twilio服务创建电话号码验证组件。
  5. ZBrush脸部比例介绍——漂亮小姐姐的形成史
  6. 欧洲杯与618:“夏季限定”MVP诞生记
  7. Python的enumerate函数
  8. GitHub基础教程(3) —— 如何删除代码库
  9. 碧蓝航线维护服务器时间,《碧蓝航线》关于活动和维护时间的说明 补偿钻石调整建造配方...
  10. 【树模型与集成学习】(task8)阶段性总结(更新ing)