想从后台接口中获取用户信息,如下是我写的程序:
wxml:
<view class=“userinfo”>
<view class=‘userinfo-box’>
<block wx:for="{{uInfo}}">
<image bindtap="" class="" src="{{item.avatarUrl}}" background-size=“cover”></image>
<view class="">{{item.nickName}}</view>
</block>
</view>
</view>
js:
onLoad: function () {
if (app.globalData.userInfo) {
this.setData({
userInfo: app.globalData.userInfo,
hasUserInfo: true
}),
console.log(this.data.userInfo)
wx.request({
url: ‘http://api/user/1’,
data: {
// nickName: this.data.userInfo.nickName,
// avatarUrl: this.data.userInfo.avatarUrl,
// gender: this.data.userInfo.gender,
// province: this.data.userInfo.province,
// city: this.data.userInfo.city,
// country: this.data.userInfo.country,
// phoneNumber: 1,
// purePhoneNumber: 2,
// countryCode: 3
},
header: {
‘content-type’: ‘multipart/form-data’ // 默认值
}, // 设置请求的 header
success: function (res) {
// success
console.log(res.data.data)
uInfo:res.data.data
},
fail: function () {
// fail
},
complete: function () {
// complete
}
})
} else if (this.data.canIUse) {
// 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
// 所以此处加入 callback 以防止这种情况
app.userInfoReadyCallback = res => {
this.setData({
userInfo: res.userInfo,
hasUserInfo: true
})
}
} else {
// 在没有 open-type=getUserInfo 版本的兼容处理
wx.getUserInfo({
success: res => {
app.globalData.userInfo = res.userInfo
this.setData({
userInfo: res.userInfo,
hasUserInfo: true
})
}
})
}
},
但是现在uInfo可以取到后台的用户信息,但是页面上显示不出来,是怎么回事呢?望大家给予解答,谢谢
你想看到结果可以这样写
<view class=“userinfo”>
<view class=‘userinfo-box’>
<block wx:for="{{uInfo}}">
<view>{{index}}==>{{item}}</view>
</block>
</view>
</view>
var that = this;
wx.request({
url: 'http://api/user/1',
data: {
// nickName: this.data.userInfo.nickName,
// avatarUrl: this.data.userInfo.avatarUrl,
// gender: this.data.userInfo.gender,
// province: this.data.userInfo.province,
// city: this.data.userInfo.city,
// country: this.data.userInfo.country,
// phoneNumber: 1,
// purePhoneNumber: 2,
// countryCode: 3
},
header: {
'content-type': 'multipart/form-data' // 默认值
}, // 设置请求的 header
success: function (res) {
// success
console.log(res.data.data)
that.setData({
uInfo:res.data.data
})
},