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 手机无法多选问题
- 换谷歌游览器或者qq又拉你去
- 如果是微信内置游览器可以通过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'});
},