小程序接收后端传的list数组

本文介绍了一个小程序页面如何通过后端SpringBoot框架获取并显示用户数据。具体包括wxml页面结构、js页面请求数据的方法及数据展示过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

小程序的wxml页面 ,代码如下

<view>

  <text>{{users[0].userid}}</text>

  <text>{{users[0].username}}</text>

</view>

 

运行结果如下: 

小程序的js页面,代码如下:

onLoad: function (options) {
    // 页面初始化 options为页面跳转所带来的参数
       var users=[];
       var that = this;
        wx.request({
          url: 'http://localhost:8080/getUser',
          method: 'POST',
          header: { 'content-type': 'application/x-www-form-urlencoded' },
          success: function (res) {
            console.log(res.data+ "你是从后台来的ma?");
            that.setData({
              users:res.data
            })
          },
          fail: function (res) {
            console.log('submit fail');
          },
          complete: function (res) {
            console.log('submit complete');
          },
        })
     
  },

 可以在AppData看到返回的数据users

 

后端的接口编写使用的是springboot框架,具体的结合另一篇文章: 

<think>好的,我现在需要帮用户解决在UniApp中如何接收后端返回的列表数据中的count字段的问题。首先,用户提到后端返回的数据结构是列表,其中包含count字段,用户可能是在进行分页或其他需要总数量的操作。 首先,我应该回想一下UniApp中如何处理网络请求。UniApp通常使用uni.request方法发送HTTP请求,类似于微信小程序的wx.request或者Taro的Taro.request。用户的问题集中在如何正确接收后端返回的数据中的count字段,所以需要确保请求成功后的回调函数能够正确解析数据。 接下来,我需要考虑正确的代码结构。用户可能已经在使用uni.request,但可能没有正确提取count字段。比如,后端返回的数据结构可能是一个对象,里面包含list数组和count字段,例如{data: {list: [...], count: 100}}。这时候需要在success回调中访问res.data.count。 然后,错误处理也是关键。用户需要确保在请求失败或者后端返回错误状态码时,能够正确处理异常情况。比如,检查res.statusCode是否为200,否则输出错误信息。这可能涉及到使用try-catch或者在fail回调中处理网络错误。 另外,用户可能需要将count保存到页面的data中,以便在视图中显示。所以需要示例代码中展示如何通过this.setData或者Vue的响应式方法更新数据。 还要考虑可能的常见错误,比如路径是否正确、是否跨域、返回的数据结构是否符合预期。如果用户没有正确接收到count,可能需要检查后端返回的数据结构是否确实包含该字段,或者是否有拼写错误。 最后,生成相关问题时要围绕这个主题,比如分页实现、数据绑定、错误处理优化等,帮助用户进一步了解相关知识。</think>在UniApp中接收后端返回的列表总数count字段,可以通过以下步骤实现: ### 一、基础实现方法 ```javascript uni.request({ url: 'https://api.example.com/list', method: 'GET', success: (res) => { if (res.statusCode === 200) { const listData = res.data.items // 列表数据 const totalCount = res.data.count // 总数字段 this.list = listData this.total = totalCount } else { uni.showToast({ title: '数据获取失败', icon: 'none' }) } }, fail: (err) => { console.error('请求失败:', err) uni.showToast({ title: '网络连接失败', icon: 'none' }) } }) ``` 关键点说明: 1. 通过`res.data`访问响应主体数据 2. 使用对象解构可简写为:`const { items, count } = res.data` 3. 推荐使用箭头函数保持上下文一致 ### 二、推荐封装方案 ```javascript async fetchData() { try { const response = await uni.request({ url: '/api/list', method: 'GET' }) const [error, res] = response if (res.statusCode !== 200) { throw new Error(`HTTP错误 ${res.statusCode}`) } if (!res.data?.count && res.data?.count !== 0) { throw new Error('返回数据结构异常') } this.list = res.data.items this.total = res.data.count } catch (error) { console.error('请求异常:', error) uni.showToast({ title: error.message, icon: 'none' }) } } ``` 优势说明: 1. 使用async/await提升代码可读性 2. 增加数据类型校验 3. 统一错误处理逻辑[^1] ### 三、注意事项 1. 确保接口返回数据格式与预期一致,推荐使用Swagger等工具维护API文档 2. 分页场景下,总数应随第一页数据返回(常见于分页查询) 3. 对于超大数字(超过JS安全整数范围),建议后端返回字符串格式
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值