微信小程序开发

第一次做微信小程序开发,感觉问题很多,就写写笔记,给想学的朋友们看一下,有不对的地方也希望有大佬能帮忙指点一下


简单的我就不多说了,文档上面都有,学着看文档也是一种学习,下面就说一下开发中的问题


先讲一下request请求,比较简单

var that = this //访问之前记得加这个

wx.request({
url: '', //请求地址
data: { OrderdetailsVoArr: clist, usersAddressId: that.data.address.usersAddressId}, //不用可以不写

header: { //请求头
"Content-Type": "applciation/json"
},
method: "GET", //get为默认方法/POST
success: function (res) {


that.setData({ //如果在sucess直接写this就变成了wx.request()的this了.必须为getdata函数的this,不然无法重置调用函数

imgUrls: res.data.list //这里的list是指你返回的json数据,后面还可以接着点,直到拿到想要的数据,


})

},
fail: function (err) { }, //请求失败
complete: function () { } //请求完成后执行的函数
})

这里有个问题,就是微信访问服务器与浏览器不同,每次访问都是一个新的请求,所以会导致每次访问后台的sessionID不同,session中的东西就会拿不到

所以我们需要让后台将每次生产的sessionID 告诉我们,然后放到微信缓存中

wx.setStorageSync( 'sessionID ', res.data. sessionID );
要用的时候记得拿出来,我用的是同步,异步可能会导致用的时候数据没拿到,要用异步的话可以去看看官方文档,上面都有,我就不多说了
var sessionID = wx.getStorageSync( 'sessionID ')
if ( sessionID ) {
this.setData({ sessionID : sessionID });
}
这样在每次访问的时候在 header中加上sessionID就行了

wx.request({
url: '', //请求地址
header: { //请求头
"Content-Type": "applciation/json",
//告诉服务器sessionID
'Cookie': 'JSESSIONID=' + that.data.sessionId
},

做登陆的时候碰到一个比较坑的,就是登陆成功后无法跳转的页面,我刚开始是这样写的

wx.redirectTo({
  url: '../user/user'
})
原来是因为在app.json中这样写了
{
"pagePath": "page/component/user/user",
"iconPath": "image/42.png",
"selectedIconPath": "image/41.png",
"text": "我的"
}

所以只能这样访问

wx.switchTab({
url: '../user/user'
})

做购物车的时候当时在data里面定义了一个OrderdetailsVo

data: {
OrderdetailsVo:{
productId: '',
productNum: '',
},
}
但是不知道为什么拿到的数据会被最后一条覆盖掉,最后没办法,只能用老办法了
var that = this;
var clist = new Array();
function OrderdetailsVo(productId, productNum) {
this.productId = productId,
this.productNum = productNum
}
for (var i = 0; i < that.data.carts.length; i++) {

if (that.data.carts[i].selected) {

var orderdetails = new OrderdetailsVo(that.data.carts[i].product.productId, that.data.carts[i].productCount)



clist.push(orderdetails)
}
}

其实就跟平时写的js一样,将clist传过去就好了,但是要注意的是传过去的东西后台需要用fastjson解析一下,不然拿不到






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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值