美文网首页
记微信小程序开发的一些坑

记微信小程序开发的一些坑

作者: Chitzkoi | 来源:发表于2018-06-14 22:04 被阅读0次

    前些日子刚刚入坑微信小程序,发现了它与其他前端语言有诸多不同,甚至官方文档也不全可靠.以下记录一些自己遇到的坑:

    页面创建

    创建页面不会默认新建文件夹,因此一定要记得先建一个文件夹再向其中添加页面.添加页面后一定要记得在页面的js头部里添加:

    const app=getApp()
    

    以免看到不必要的错误

    页面数据

    页面数据保存于page.data中.调用时要注意若有请求处理,需要在函数中将this保存为其他变量便于使用.

    小程序中的会话保持

    微信小程序中,每次向后台发送request默认都是一个全新的会话,如想要进行会话保持,可以在登录后返回sessionid保存,以后再向服务器发送请求时可以在请求头加上sessionid,来保证会话与上次会话一致:

    header: { 'Cookie': 'JSESSIONID=' + app.globalData.sessionid},
    

    注意会话过期的处理.

    登录

    每次登录都会产生一个code,code在被使用一次之后作废(可以用来生成openid等).在发布的小程序中常将code发送至后台来获取openid.

    页面动态渲染

    wx:if能够使页面动态渲染,可以用于block等标签.使用场合举例:

    切换单选框显示不同的表单.

    请求类型

    get请求类型默认,但post需要注意:请求method中填的应为大写的POST(其它类型请求也一样),且在header中需要添加

    "Content-Type": "application/x-www-form-urlencoded"
    

    否则请求参数无法发送出去.

    页面数据赋值

    如下方式:

    currentUser:app.globalData.currentUser
    

    获取到的currentUser会是null.因此只能使用以下方式:

      var info = app.globalData.currentUser;
        // console.log(info);
        this.setData({
            currentUser: info
        });
        // console.log(this.data.currentUser);
    

    参数传递

    在小程序中若请求的参数值为null,则null会被作为字符串传递,有时会引起400错误

    表单

    获取表单数据:

    e.detail.value;
    

    获取表单项的id:

    e.currentTarget.id
    

    本文不定时更新,希望能给广大程序猿同僚带来帮助.

    相关文章

      网友评论

          本文标题:记微信小程序开发的一些坑

          本文链接:https://www.haomeiwen.com/subject/vdelrftx.html