小程序wx.request后前端渲染

我已经从后台获得数据了,到了前端渲染,就渲染不出来

// index.js
var app = getApp();
 Page({
    data: {
      userInfo: {},
      list:[]
    },
    onLoad:function(){
      this.onlist();
      console.log(this.data.list);
    },
    onReady:function(){
      wx.hideToast();
    },
    onlist:function(){
      var that = this;
      var url  = app.globalData.serurl;
      wx.request({
        url: url, 
        data: {
          page: 'discov' ,
          type: 'index'
        },
        success: function(res) {
          that.setData({
            list:res.data
          })
        }
      })
    },
    onsearch:function(){
    }
 })

// index.wxml
<view>
    <view wx:for="{{list}}" wx:for-index="idx" wx:for-item="itemName" wx:key="contid">
    {{idx}}:{{itemName.title}}
    </view>
</view>

clipboard.png

console.log出来是空的,不知道什么原因?求教

渲染出来的也是空的

clipboard.png

接口返回的是:

clipboard.png

阅读 3.9k
2 个回答
新手上路,请多包涵

wx:for-index="idx" wx:for-item="itemName" wx:key="contid"
这三个属性尽可能用默认的不要去自定义它了吧。。
我觉得你的写法没错,就是wxml上的问题。

this.onlist()调用返回之后,请求并没有完成,所以你打log出来的肯定是空数组。

另外可以尝试log一下success里面的res,看看到底返回的是什么

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