为了账号安全,请及时绑定邮箱和手机立即绑定

微信小程序绑定服务器传来数据

标签:
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人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消