微信小程序 开发中遇到问题总结

1.由于小程序wx.request()方法是异步的,在app.js执行ajax后,各分页加载app.js的全局数据时,无法按顺序加载。例:

//app.js

App({

ajax:function(){

let that = this;

wx.request({

url: 'https://a.com/url.php',

method: 'GET',

success: function(e){

that.data = 123;

}

})

};

})

//content.js

let app = getApp()

Page({

getData: function(){;

app.ajax();

console.log(app.data); //undefined

}

})

解决方法,使用Promise异步函数:

//app.js

App({

ajax:function(){

let that = this;

let promise = new Promise(function(resolve, reject){

wx.request({

url: 'https://a.com/url.php',

method: 'GET',

success: function(e){

that.data = 123;

resolve();

}

})

});

};

})

//content.js

let app = getApp()

Page({

getData: function(){;

app.ajax().then(()=>{

console.log(app.data); //123

});

}

})

2.图片只能获取原始宽高,无法获取现有宽高。不过image标签封装了mode属性,可以根据需求自行设置。

3.每个image标签底部有一条透明间隔,非padding,非margin。在图片前面做遮罩层时可能会被坑。

4.网络请求必须部署https

5.配置tabBar时,list参数中的pagePath参数至少需要包含app.json里pages数组中的第一个路径,否则会导致tabBar不显示。

6.tabBar跳转时无法带参数,解决方法:

//search.js

var app = getApp();

Page({

confirm: function(e){

//获取数据,添加到全局

let val = e.detail.value;

app.searchWord = val;

this.jump();

},

jump: function(){

//跳转tabBar

wx.switchTab({

url: '../index/index',

});

},

});

//index.js

var app = getApp();

Page({

onShow: function(e){

//获取全局数据

let val = app.searchWord;

}

});

//需要传递参数的页面在跳转前将数据添加到app.js里。需要接受参数的页面在onShow方法接受之前添加到app.js的数据。

7.小程序wx.request()方法请求的url必须是https开头

8.wx.request()使用post方法请求时,还需要加上header,header[content-type]值为application/x-www-form-urlencoded。例:

wx.request({

url: 'https://a.com/url.php',

data: {message: 123},

method: 'POST',

header: {

'content-type': 'application/x-www-form-urlencoded'

},

success: function(e){

console.log(e)

}

});

9.小程序无法加载html标签,同时数据渲染也无法渲染wxml标签(等),可以使用wxParse.js来处理相关数据。

10.安卓无法渲染wx.request()请求的数据。

检测返回的数据是否有BOM头(3个字符的空白)。安卓的wx.request解析不会跳过BOM头,导致数据返回的是字符串,而不是对象或者数组。

例:

返回的数据是:(3个字符的空白){a:1, b:2}

解析的数据是:'{a:1, b:2}'(字符串),而不是{a:1, b:2}(对象)

由于不是对象,模板渲染之类会无法正常进行。解决方法,后台返回数据前去掉BOM头就行。如果后台不会去BOM头,可以在前端去除,但是wx.request如果dataType缺省,会默认为json并自动解析,导致无法去除BOM头。

解决方案:

wx.request({

url: url,

method: 'GET',

dataType: 'txt',

success: function(e){

let json = e.data.trim();

let arr = JSON.parse(json);

}

});

dataType改为json以外的格式,避免小程序自动解析json字符串,然后对返回的数据用 trim() 方法去掉空白,最后解析json字符串就行。

11.调试时多行省略(-webkit-line-clamp)正常,发布时多行省略无效。

解决方案:如果不想重新审核,让后台截断就好

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

java写微信小程序答辩问题_微信小程序 开发中遇到问题总结相关推荐

  1. java写微信小程序答辩问题_微信小程序毕业设计选题和毕业论文怎么写,答辩流程是怎样的?...

    1. 开始准备选题 大四上学期开学时开始准备论文的,首先是确定论文主题,看自己想做什么毕业设计,可以选取之前接触过的,做过的东西,这样快一些,如果选的是没接触过的方向,一定要早点开始.打算做一个小程序 ...

  2. java写微信小程序答辩问题_java微信小程序开发中加密解密算法总结

    详解java微信小程序开发中加密解密算法 一.概述 微信推出了小程序,很多公司的客户端应用不仅具有了APP.H5.还接入了小程序开发.但是,小程序中竟然没有提供Java版本的加密数据解密算法.这着实让 ...

  3. java小程序详解_微信小程序登录Java后台接口(详解,附示例代码)

    首先看一下官方文档 地址:微信小程序官方文档API登录接口 我们先对官方给的时序图进行简单的分析 1.当小程序调用wx.login()时,会获得一个code(临时登录凭证),然后我们需要用wx.req ...

  4. java作为微信小程序的后端_微信小程序连接java后端

    所需环境 1.微信开发者工具 2.eclipse 小程序端 Java后端 运行结果 注意事项 不校验合法域名在详情中,这个勾勾一定要勾上,不然就会这样 最后代码附上 w微信端wxml: 发送 微信端j ...

  5. java开发微信如何维护登录状态_微信小程序中做用户登录与登录态维护的实现详解...

    总结 大家都知道,在开发中提供用户登录以及维护用户的登录状态,是一个拥有用户系统的软件应用普遍需要做的事情.像微信这样的一个社交平台,如果做一个小程序应用,我们可能很少会去做一个完全脱离和舍弃连接用户 ...

  6. 小程序 实名信息_微信小程序+商城信息管理系统

    下载地址长期有效 微信商城信息管理系统(java后台+小程序) 使用方法 >温馨提示 java后台信息管理系统 微信商城小程序 >使用方法 加小编微信进行咨询 >实现功能 一:会员管 ...

  7. android微信小程序自动填表_微信小程序自动回复用户消息

    最近用java做了一个实现在微信小程序内根据用户发送的消息内容回复用不通的消息功能,相当于一个自动回复的客服消息,效果图如下: ​​ ​ 当用户在小程序输入框中输入内容或其他操作时,后台根据用户输入的 ...

  8. 超市微信小程序怎么做_微信小程序便利店怎么开?便利店和百货超市怎么开发小程序?...

    微信小程序便利店怎么开?便利店和百货超市怎么开发小程序?下面跟随小编一起来看看吧! 现在很多商家还在小程序是什么,流行的说法是开店到微信,创建一个互联网离线模式,将近五公里的小程序显示出来,只要别人用 ...

  9. 微信小程序万里目_微信小程序“注册”你不知道的秘密

    很多人第一次上线小程序时是这样的: 啥?个人小程序不能选择商家自营? 好,换成企业主体. 啥?功能设置不够完整? 好,重新修改一下. 啥?简介里没有把小程序的功能写全? 好,把没写的补上. -- 好不 ...

最新文章

  1. Scrum企业实践-Leangoo敏捷工具
  2. textrank4zh是_GitHub - 997666901/TextRank4ZH: 从中文文本中自动提取关键词和摘要
  3. Golang 标准库提供的Log(一)
  4. 2016年软考网络工程师考试命题范围变化之网络设备配置与复习技巧
  5. 地图上制作线路的动画_魔兽争霸重制版不只是表面上这么简单,新版编辑器制作地图更容易...
  6. 爬虫学习笔记(三)—— requests库
  7. 目标检测迁移学习_使用迁移学习检测疟疾
  8. 汽车防撞实时语音播报仪设计
  9. 数据库设计三大范式应用实例剖析(讲得比较清楚)
  10. DOTNET零碎要点---字符串截取操作
  11. latex 基本用法(五)
  12. hal库串口dma卡死_HAL库版DMA循环模式串口数据收发
  13. golang RWMutex读写互斥锁源码分析
  14. 惠普台式电脑引导不了系统_惠普电脑进入bios设置引导模式操作步骤图文
  15. Makefile教程(绝对经典,所有问题看这一篇足够了)
  16. 《个人信息保护法》正式施行,拒绝隐私泄露
  17. Big-Endian Little-Endian
  18. 判断两个圆相切或相交
  19. 【点云压缩】Lossless Coding of Point Cloud Geometry using a Deep Generative Model
  20. 为什么很多人吐槽谭浩强的C语言程序设计,端碗吃饭放碗骂娘?

热门文章

  1. unity小游戏实践(一) 俄罗斯方块
  2. 苹果x充电慢是什么原因_苹果手机充不进去电?为什么?什么原因?怎么解决?...
  3. 一“站”成名 | 盘点全球域名收购经典案例
  4. [随心译]2017.8.7-这些难以置信的地球太空夜景图实际上全是假货
  5. qcc514x-qcc304x调试笔记-如何区分左右耳
  6. 19.系统知识-数字证书
  7. html5 jquery 鼠标拖动例子,jquery实现鼠标拖动实现DIV排序示例代码
  8. 初探交换机虚拟化技术m-lag
  9. 火狐怎么导入收藏夹_火狐浏览器怎么把网页添加到收藏夹
  10. gcc : 无法将“gcc”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。