微信小程序wx.request请求回来的数据没有及时显示到页面上

出问题的代码:
wxml:

<scroll-view wx:for="{{goodsList}}" scroll-y="ture">
  <form class="" bindsubmit="shan">
    <button form-type="submit" data-id="{{item.id}}">删除</button>
  </form>
</scroll-view>

js:
 data: {
 goodsList: [{ id: '', classifyName: '', goods: [] }]
  },
 shan:function (e) {
    var that = this
    if (e.detail.target.dataset.id) {
      wx.request({
        url: 'http://localhost/lei/index.php/Home/index/shan',
        data: {
          y: e.detail.target.dataset.id
        },
        header: {
          'content-type': 'application/json'
        },
        success: function (res) { 
          wx.request({
            url: 'http://localhost/lei/index.php/Home/index/cha',
            data: {
            },
            header: {
              'content-type': 'application/json'
            },
            success: function (res) {
              var param1 = {};
              var param = {};
              for (var i = 0; i < res.data.length; i++) {
                var string1 = "goodsList[" + i + "].id";
                var string = "goodsList[" + i + "].classifyName";
                param1[string1] = res.data[i].Id;
                param[string] = res.data[i].Name;
                that.setData({param1:param1});
                that.setData({param:param});
              }
            }
          })
        }
      })
    }

说明:增加、修改后页面都是可以即时显示的,只有删除后不能即时先后,但后台数据确实是删除了,用了setData还是不行,哪位大牛帮下忙,在线等

阅读 6.9k
3 个回答

第一 你这种写法有问题 直接bindtap就可以了 干嘛用form
第二 setdata应该修改goodslist 你在请求成功后修改的是param 没有修改goodslist
第三 一个request就可以了 请求成功后直接修改goodslist 不需要再请求一次

你好,我想请问一下你再request里面用了setdata,,request外面调用你的setdata里面的赋值,能读取得到吗?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题