微信小程序绑定服务器传来数据
标签:
JavaScript
ES6写法虽好,但是我不会使用callBack,所以我就在page里面直接使用request.
首先写了get_data函数,写在page里面,全部用的是this
get_data:function(){
let pd_data = this.data.pd;
for (let detail of pd_data) {
let re_data = detail.prompt.replace('[(', '').replace(')]', '').replace('[', '').replace(']', '')
if (detail.selectType == 'picker') {
detail.prompt = re_data.split(',');
detail.picker_selected = 'True';
}
else if (detail.selectType == 'text') {
detail.text_selected = 'True';
}
else if (detail.selectType == 'textarea') {
detail.textarea_selected = 'True';
}
else {
if (detail.selectType == 'radio') {
detail.radio_selected = 'True';
}
else if (detail.selectType == 'checkbox') {
detail.checkbox_selected = 'True';
}
let process_data = re_data.split('), (');
for (var i = 0; i < process_data.length; i++) {
process_data[i] = process_data[i].split(',');
if (process_data[i].length == 3) {
process_data[i] = {
name: process_data[i][0],
value: process_data[i][1],
checked: process_data[i][2],
}
} else {
process_data[i] = {
name: process_data[i][0],
value: process_data[i][1],
}
}
};
detail.prompt = process_data;
}
detail.order = parseInt(detail.order)
}
pd_data = pd_data.sort(function (a, b) {
return a.order - b.order;
}),
this.setData({
productDetail: pd_data
})
},
然后onload里面,前面还是可以用this,但是request的success里面似乎不能用this,所以在使用之前要var that=this.
onLoad: function (options) {
let dirty_data = VproductDetail.productDetail
this.setData({
dirty_data: dirty_data
})
this.setData({
NavigationBarTitle: options.bartitle
})
//改变从这里开始,感觉应该用fetch
var that = this
//获取pd
wx.request({
url: 'http://127.0.0.1:8000/' + 'product/2/detail', //仅为示例,并非真实的接口地址
header: {
'content-type': 'application/json', // 默认值
'Authorization': 'Token b2f2806a0ff8b8ea50da908c646b62cedacd65eb'
},
success: function (res) {
that.setData({
pd: res.data
})
that.get_data()
}
})
},
点击查看更多内容
3人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦