微信小程序 wx.request()

post请求,参数为键值对格式

wx.request({
      url: '',
      method: 'POST',
      data:'pageSize=1&pageNum=10',    //参数为键值对字符串
      header: {
        //设置参数内容类型为x-www-form-urlencoded
        'content-type':'application/x-www-form-urlencoded',
        'Accept': 'application/json'
      },
      success: function (res) {
        console.log(res.data)
        that.setData({
          items: res.data
        })
      }

    })

POST请求,参数为json格式

wx.request({
  url: 'test.php', //仅为示例,并非真实的接口地址
  data: {          //参数为json格式数据
     x: '' ,
     y: '',
     z:12
  },
  header: {
      //设置参数内容类型为json
      'content-type': 'application/json'
  },
  success: function(res) {
    console.log(res.data)
  }
})

wx.request() 示例:

Page({
  data: {
    motto: 'wzh ... '
  },
  //事件处理函数
  onLoad: function (options) {
    var that = this

    //技能资讯列表
    wx.request({
      url: 'http://192.168.1.103/yiji/skillList.php',
      method: 'POST',
      data:'pageSize=1&pageNum=10',
      header: {
        'content-type':'application/x-www-form-urlencoded',
        'Accept': 'application/json'
      },
      success: function (res) {
        console.log(res.data)
        //这样赋值现在是不能将数据传走的,必须使用setData()方法
        //that.data.items = res.data ;
        //官方文档指出必须使用setData()方法才能将数据传走
        that.setData({
          items: res.data
        })
      }

    })
  }
})

setData():

Page.prototype.setData() 
setData 函数用于将数据从逻辑层发送到视图层,同时改变对应的 this.data 的值。 
setData() 参数格式 
接受一个对象,以 key,value 的形式表示将 this.data 中的 key 对应的值改变成 value。 
其中 key 可以非常灵活,以数据路径的形式给出,如 array[2].message,a.b.c.d,并且不需要在 this.data 中预先定义。 
注意: 
直接修改 this.data 而不调用 this.setData 是无法改变页面的状态的,还会造成数据不一致 
单次设置的数据不能超过1024kB,请尽量避免一次设置过多的数据。

欢迎关注微信公众号:lovephp

猜你喜欢

转载自www.cnblogs.com/ldj3/p/9334236.html