微信小程序开发——苹果手机领取卡券出现参数错误(安卓正常)
异常描述:
微信小程序领取卡券,调用 wx.addCard 接口,安卓手机正常调起领取卡券界面,苹果手机、微信开发者工具中均出现“参数错误”,如图:
异常解析:
安卓手机能正常调起领取界面,那就说明领取卡券参数是没有问题的,那么苹果手机中出现的异常应该就是ios系统对js的某些兼容性问题了。认真再从头看一遍小程序开发文档中关于 领取卡券 的部分,能看到这么一句:
注:cardExt 需进行 JSON 序列化为字符串传入
既然安卓手机访问正常,那十有八九就是参数格式问题了。
问题解决:
检查下小程序中领取卡券的参数 cardExt ,如果是传入的JSON类型的数据,那么就需要对这个参数序列化下了。
JSON.stringify(cardExt)
修改完成之后重新编辑预览小程序,苹果手机和开发者工具应该都可以正常领取卡券了。
后记:
对于安卓手机,一如安卓系统的开源性,基于安卓系统的各种应用、浏览器对js的兼容性也比较好。但是对于苹果系统就不好说了,就如本例中JSON参数,安卓系统可以完美的兼容,苹果系统就不行了。所以如果要完美的兼容苹果手机,js的各种写法还是要严格来写的。
原创专业博客,转载请注明来源地址:https://www.cnblogs.com/xyyt/p/9707156.html
个人原创博客,转载请注明来源地址:https://www.cnblogs.com/xyyt
分类:
微信开发
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通