js爬坑笔记

1 篇文章 0 订阅

js数字比较加减乘除运算问题

js运算时一定要是整数进行运算,一定要转换为数字类型,js做比较大小时一定要转换为数字类型,否则会造成判断错误的问题。

js时间格式化问题

js时间格式后月是0-11进行输出的,所以要进行加1进行输出月份,才是正确的月份。

js 转移json字符串报错问题

js在转换字符串遇到换行符号货导致报错,需要把换行符给去掉,或者转成其它字符。
解:

json = json.replace(/\n/g,"").replace(/\r/g,"");//去掉字符串中的换行符
json = json.replace(/\n/g,"").replace(/\s|\xA0/g,"");//去掉字符串中的所有空格
var jsonObj= eval('(' + json + ')'); //将字符串解析成json对象

input multiple android 手机无法多选问题

  1. 换谷歌游览器或者qq又拉你去
  2. 如果是微信内置游览器可以通过jssdk来操作
 wx.ready(function () {// 在这里调用 API
    let images = {
        localId: [],
        serverId: []
    };
    let thatCount = 9
    if (self.imglist.length > 0) {
        thatCount = 9 - self.imglist.length;
    }
    if(thatCount === 0){
        app.alert('最多上传9张图');
        return false;
    }
    wx.chooseImage({//选择图片
        count: thatCount,//限制上传图片的张数
        success: function (res) {
            app.showLoading();
            images.localId = res.localIds;
            images.serverId = [];
            $.each(images.localId, function (k, v) {
                wx.getLocalImgData({
                    localId: images.localId[k], // 图片的localID
                    success: function (res) {
                        // localData是图片的base64数据,可以用img标签显示
                        let blob = self.convertBase64UrlToBlob(res.localData);
                        let formData = new FormData();
                        formData.append('file', blob, (Math.random() * 10) + '.png');   //转换成blob对象
                        // 上传
                        $.ajax({
                            url: upImgUrl,
                            type: 'POST',
                            dataType: 'json',
                            processData: false,
                            contentType: false,
                            data: formData,
                        }).done(function (data) {
                            var url = data.url || false;
                            if (url) {
                                self.imglist.push(url);
                            } else {
                                app.alert(data.error.message);
                            }
                        }).fail(function (err) {
                            console.log(err);
                        }).always(function (err) {
                            if (images.localId.length === (Number(k) + 1)) {
                                app.hideLoading();
                            }
                        });
                    }
                });
            });
        }
    });
});

/**
 * Blob 对象表示一个不可变、原始数据的类文件对象
 **/
convertBase64UrlToBlob(urlData) {
//去掉url的头,并转换为byte
    let data = urlData.split(',');
    let bytes;
    //android手机base64有的手机不需要分隔,而ios必须要进行分隔
    if (data.length === 2) {
        bytes = window.atob(data[1]);
    } else {
        bytes = window.atob(data[0]);
    }
    //处理异常,将ascii码小于0的转换为大于0
    var ab = new ArrayBuffer(bytes.length);
    var ia = new Uint8Array(ab);
    for (var i = 0; i < bytes.length; i++) {
        ia[i] = bytes.charCodeAt(i);
    }
    return new Blob([ab], {type: 'image/png'});
},
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值