1. 真机调试获取不到数据
问题描述:在模拟器上可以获取到数据,但是在真机调试获取不到数据
解决:配置服务器request合法域名
并且一定要记得取消勾选不校验合法域名
2.服务器api返回的json字符串前面多了个空格
问题描述:真机能够获取到了数据,但是返回的json字符串前面多了个空格
原因:服务器有文件格式是utf-8 with bom ,应改成utf-8 无 bom,可用notepad++ 处理。且要记得不要用记事本修改服务器代码/配置文件,会改成有BOM底的。
解决:
法一:(从客户端解决,但是不治本,不推荐)
您可以判断 typeof res,如果是字符串则尝试 JSON.parse(res.replace(new RegExp('ufeff', 'ig'), ''))
("ufeff"表示非法字符)
法二:(从服务端解决,直接返回对象,治本)
修改服务器的默认打开为notepad++
在服务器里面根据最后修改时间判断哪些文件(包括配置文件)是经过windows的记事本修改的
并保存为utf-8无bom格式
3. 致命错误:Call to undefined function curl_init()
首先使用phpinfo()查看一下你的curl库有没有打开(ctrl+f,有出现curl enabled即可)。如果没有的话,编辑php.ini文件。
1.)phpinfo()里面没有curl,
mydomain/info.php
(ubuntu需要安装php7.0-curl,前提:Php为7.0版本)
= apt-get update
= sudo apt-get install curl libcurl3 libcurl3-dev php7.0-curl
= 重启apahce服务器。
= 解决
如果没enabled,就是没加载上
sudo find / -name 'php.ini' 找到php.ini 文件在哪里
1、Windows下的PHP开启curl库支持:
在/etc/php/7.0/apache2/php.ini
打开php.ini,将extension=php_curl.dll前的;号去掉。
2.保存之后还要重启apahce服务器。
4.新版授权方式
1. 用户授权
button wx:if="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo" hidden="{{loadingHidden}}" class='onMiddle'授权登录/buttonview wx:else请升级微信版本/viewdata: { canIUse: wx.canIUse('button.open-type.getUserInfo')}bindGetUserInfo(e) { console.log(e.detail.userInfo);}2.判断是否授权
// 查看是否授权wx.getSetting({ success(res) { if (res.authSetting['scope.userInfo']) { // 已经授权,可以直接调用 getUserInfo 获取头像昵称 wx.getUserInfo({ success(res) { // console.log(res.userInfo) that.setData({ userInfo: res.userInfo, loadingHidden: true }); } }) } }})
5.小程序的token机制
问题描述:小程序能获取code, openid, secret, =token,但是token老是校验失败,返回信息"Token过期或失效"?
原因:断点调试服务器,发现token没有发送到服务器上
解决:重构request方法,在header:{token} 携带token














