• 微信小程序坑集


    1. 微信小程序不支持cookie

      1. 使用Reids存储session

      2. 使用3rd_session建立会话关系

    2. 微信小程序post请求,服务端获取不到参数

      1. 需要把Content-type改成‘application/x-www-form-urlencoded’才可以正常获取

      2. 修改Content-type后,请求参数不会自动序列化,需要使用JSON.stringify转化字符串才可以正常请求

    客户端 

     wx.request({
                            url: app.requestUrl("Index/answer"),
                            method: 'POST',
                            data: {
                                answer: JSON.stringify(needData),
                            },
                            header: { "content-type": "application/x-www-form-urlencoded" },
                            dataType: "json",
                            success: function(res) {
    
                            }
    
                        });

    服务端

        public function answer(){
            $answer=I('post.answer');
            $answer=htmlspecialchars_decode($answer);
            $answer=json_decode($answer);
        }

    3. 微信小程序wx.request会自动对响应数据执行JSON.parse,JSON.parse执行失败不会抛出错误或警告(php文件为BOM编码时,响应数据会带上编码符。因为wx.request没有做trim处理,所以JSON.parse会执行失败,返回json字符串!该问题很难追踪,因此纠结了一天)

    4. 有些手机不支持Object.assign方法,如果使用了该方法会出现莫名其妙的报错(并不会提示Object.assign is not function,而是导致调用了Object.assign方法的方法不能被调用)!

     解决方法:直接写一个合并对象的方法!

    function assignObject(o, n) {
        for (var p in n) {
            if (n.hasOwnProperty(p) && (!o.hasOwnProperty(p)))
                o[p] = n[p];
        }
    }

     5. 不支持在对象使用解构表达式

    var arr=[1,2,3,4,5];
    var obj={
        node:123,
        name:"huang"
    };
    var newarr=[...arr,6,7,8];  // 可以解析
    var newobj={...obj,age:12};   // 无法解析,报错 

    6. 服务器使用https协议时,外链也需要使用https协议,否则ios系统不支持(android是支持的) 

      解决方法: 把外链的http协议转换成https协议(外链需要支持https协议)

    7. 自己写的遮罩层无法遮盖 textarea组件placeholder

      解决方法:弹出遮罩层的时候把textarea组件隐藏,关闭遮罩后重新显示textarea组件

    8. picker-view组件无法滚动(当picker-view处于display:none状态,去修改picker-view的value会导致组件卡主无法滚动)

      解决方法:修改picker-view组件的value属性的前picker-view必须处于正常(display:block)状态

      

      

  • 相关阅读:
    Django连接MySQL(二)
    Django框架,python2和python3共存的情况下,创建Django项目
    pycharm破解
    dbutils中实现数据的增删改查的方法,反射常用的方法,绝对路径的写法(杂记)
    Spring中的事物管理,基于spring的bean的配置
    Spring中的事物管理,用 @Transactional 注解声明式地管理事务
    Ajax中GET和POST的区别
    Spring对 JDBC 的支持,JdbcTemplate类的使用
    Spring AOP:面向切面编程,AspectJ,是基于spring 的xml文件的方法
    Spring AOP:面向切面编程,AspectJ,是基于注解的方法
  • 原文地址:https://www.cnblogs.com/dudeyouth/p/6277628.html
Copyright © 2020-2023  润新知