zipaiyou 2019-02-05 17:19 采纳率: 80%
浏览 1012
已采纳

[附代码]微信小程序json问题,为什么重复数据了,请看问题描述?

总体效果是这样:

总价调用json返回的数据字段【jine】

而产品详情是调用json返回的数据字段【name】


以下是截图是出现bug的问题。出现错误是【总价】和【产品详情】都调用一样的数据。
图片说明


以下是核心调用代码,请各位指点一二,谢谢。

onLoad: function (options) {
    var that = this;
    //定义从列表传过来的options.id
    var id = options.id;
    wx.request({
      url: 'https://XXXXXXXXXXXXX/XXXXX.php?id=' + id,
      data: {
        p: this.data.page,
        type: this.data.currentType
      },
      method: "GET",
      header: {
        'content-type': 'application/json'
      },
      success: function (res) {
        var list = res.data.jsdata;
        for (var i = 0; i < list.length; i++) {
//循环遍历
          var cur_person = list[i].id;
          //定义id
          var ceshi = list[i].name;
          //定义字段
          var jine = list[i].jine;
//判断从列表传过来id
          if (cur_person == id) {
              //如果id相同则输出该条数据字段
            that.data.list.push(ceshi);
            that.data.list.push(jine);

          }
        }
        that.setData({
            //渲染返回字段
          ceshi: that.data.list,
          jine: that.data.list,
        });
      }
    });
  },
  • 写回答

2条回答 默认 最新

  • threenewbee 2019-02-05 20:22
    关注
    var list = res.data.jsdata;
    在这里调试输出下data返回的json是什么
    if (cur_person == id) {
      //如果id相同则输出该条数据字段
      that.data.list.push(ceshi);
      that.data.list.push(jine);
    }
    修改为
    if (cur_person == id) {
      //如果id相同则输出该条数据字段
      that.setData({
        //渲染返回字段
        ceshi: list[i].name,
        jine: list[i].jine,
      });
      break;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 keepalive配置业务服务双机单活的方法。业务服务一定是要双机单活的方式
  • ¥50 关于多次提交POST数据后,无法获取到POST数据参数的问题
  • ¥15 win10,这种情况怎么办
  • ¥15 如何在配置使用Prettier的VSCode中通过Better Align插件来对齐等式?(相关搜索:格式化)
  • ¥100 在连接内网VPN时,如何同时保持互联网连接
  • ¥15 MATLAB中使用parfor,矩阵Removal的有效索引在parfor循环中受限制
  • ¥20 Win 10 LTSC 1809版本如何无损提升到20H1版本
  • ¥50 win10 LTSC 虚拟键盘不弹出
  • ¥30 微信小程序请求失败,网页能正常带锁访问
  • ¥15 Matlab求解微分方程,如何用fish2d进行预优?