小程序数据怎么传输到服务器,微信小程序绑定服务器传来数据

本文介绍了一位开发者如何在不使用callback的情况下,在微信小程序中使用ES6处理数据。通过编写get_data函数,对数据进行一系列操作,包括字符串替换、条件判断和数组处理,以适应不同的数据类型。在onLoad函数中,利用wx.request获取远程数据,并在success回调中更新页面数据。然而,由于作用域问题,需要在外围保存`that`来确保在回调中能正确访问`this`。
摘要由CSDN通过智能技术生成

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()

}

})

},

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值