如果是来找织梦结合小程序的朋友请移步“织梦结合小程序的方法”,如果是想解决标题中提到的问题请向下看。
Do not have getUserInfo handler in current page: pages/index/index. Please make sure that getUserInfo handler has been defined in pages/index/index, or pages/index/index has been added into app.json
放了好几周才又开始做的微信小程序,之前在页面中做了一些代码测试,隔了这么长时间了,也不记得都动了哪里。
涉及到制作交互部分了,打开了默认的获取用户信息的代码的注释,点击后,报错,报文如上。index.js中、app.js中、…有一些小改,但是都不是真正的原因。
百度上查查吧,但查到的内容也是过来人犯过的错,在这里也记录一下,我也出现了这些提到的。
1. 检查报错对应js在Page之外是不是var了一些不对的值,如: var RSA = require(‘../utils/wx_rsa.js’);
2.调整app.json中Pages里面的页面注册顺序 ;
3.检查wxml中bindtap是否在js里面将方法创建。
上面第1条是我存在的问题,我在app.js文件中的app({……})之个引用了文件const cfg = require('./config');
而且在./config.js文件中还有var的定义,改为let后,没有解决我的问题(但是这不代表不能解决别人的问题)。
再说一下上面的第2条,有个朋友是通过修改app.json中的pages下定义路由的顺序修改了BUG,他的原话如下:
位置调换到后面的 “pages/personal/personal 页面 ,.js 文件中 没有使用Page() 函数注册页面,导致后续页面注册被中断了
测试了一下,把某模块中的js文件清空,控制台提示内容如下:
pages/regulation/regulation.js 出现脚本错误或者未正确调用 Page()
估计那位朋友也不是撒谎,也许是还有别的情况不同的关系吧。
下面说一下这次(pages/index/index.js文件中)我认为很严重的直接造成上面报错的一堆错误:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Page({ data: { motto: 'Hello World', userInfo: {}, hasUserInfo: false, canIUse: wx.canIUse('button.open-type.getUserInfo'), // 静态资源路径 // publicPath: { // 'public': '../../public', // 'imgs': '../../public/imgs' // }, .......111....... note: [......222......] } }) |
在上面“…111…”中,有很多代码,但都是事件处理函数等,是不应该在Page.data下的,应该是同级的,Page.data的闭合括号不知道什么时候弄到结尾去的,刚才我是一直没查出来这个错,也是无意间发现的,这个错误比天大啊。
也许是我在上次做测试的时候,复制完代码准备改还没改的情况下放手的,也真是记不清了。
所以,当出现上面出现上面报错时,解决方法还要加上一条,查查自己的代码是否有闭合位置错误的情况发生。
右键点击编辑器区域,选择“格式化文件”,仔细查一查函数的闭合情况。
—————————— 2018-09-05 ——————————
又是一个低级错误,造成这样的报错。
.wxml文件中的部分源码:
0 |
<button open-type="getUserInfo" bindgetuserinfo="getUserInfo ">同意</button> |
报错原因:引号内getUserInfo的后面多了一个空格
买疙瘩,各种错误,不重样儿。