微信小程序中出现最多的一个问题,就是真机跟本地不同:我简单列举一些我发现的原因,给大家参考,大家也可以把自己发现的东西回复给我,给我参考:

本地看不到数据,就先让本地能看到数据,再看本帖。。。。

1:本地可以看到数据,ios不行,安卓可以;
     可能是tsl版本问题不支持1.2导致,部分安卓可以允许tsl低于1.2而正常显示,而苹果不行;
     解决方法:参考此帖排查问题并修复:request:fail错误(含https解决方案)(真机预览问题
     可能是证书不受信任

2:本地可以看到数据,ios可以,安卓不行;
     ios可以,而安卓不行,可能有如下几个情况
        情况一:使用了不兼容安卓的js,比如es6的Object.assign,部分es6不兼容安卓,即使开启es6转es5选项也无用;比如for of 和 forEach 需要换成for in;
                    情况说明:官方将在本月内的第二个版本更新时对ES6绝大部分API进行兼容
        情况二:证书缺失,大部分情况是缺失中间证书,检测地址:https://www.myssl.cn/tools/check-server-cert.html;中间证书安装参考:http://www.wxapp-union.com/forum.php?mod=viewthread&tid=1661
        情况三:证书不受信任
        情况四:测试机型较老,而tsl版本不支持;tsl需要支持较老版本,包括1.0,1.1;

3:本地可以看到数据,IOS及安卓均不可看到数据:可能是:
     情况一:使用了自签的证书;必须使用第三方受认可的证书
     情况二:使用了IP,必须使用备案的域名
     情况三:https问题,选项中选择了不检验域名选项,此选项对真机无效;

4:url内使用了端口,参考:http://www.wxapp-union.com/forum.php?mod=viewthread&tid=1899

5:数据未加载成功,需要设定一定的延迟量,在加载数据完成后再渲染页面;

6:一些特殊问题,包括utf-8的bom问题导致安卓红点问题;http://www.wxapp-union.com/forum.php?mod=viewthread&tid=1522

后台返回数据中有bom非法字符, 前端可以用.trim()方法去一下, 治标的话得让后台把所有的文件编码格式改为utf-8 
官方解释:近日有发现类似问题的都是因为返回的数据是 UTF-8 with BOM(即数据的开头是一个不可见字符 unicode 65279),Android 平台没有自动过滤,导致 JSON.parse 失败。目前需要开发者自行兼容,下个版本 Android 会过滤此字符。

<?php 前边有一个 <feff>: http://www.wxapp-union.com/portal.php?mod=view&aid=959

http://www.wxapp-union.com/forum.php?mod=viewthread&tid=1366: 
你请求得到的res.data是否有值,如果没有值就检查一下ssl的问题。 
如果有值但没有赋值成功,最可能的原因是获取的是一个字符串而不是一个数组或对象。 
你需要做一个格式化, if(typeof res.data === 'string')var data = JSON.parse(res.data.trim());再用data赋值。 
这个的原因是php输出的不会忽略BOM的文件头,特别使用windows自带写字板修改后就会有个\ufeff的字符在文件开始处,这个是不可见但会实际包含的。最后返回的就是字符串而非json数据,你直接对data赋值字符串是无法达到你想要的效果的,所以需要去掉,并重新格式化变成一个数组或对象。

7:真机跟本地样式不同:可能使用了ios或安卓某一端不兼容的样式属性;目前编辑器检查越来越严格,标签不闭合可能导致一些奇怪的问题;

8:微信版本不足,建议使用最新版本微信进行测试;最新版本查看地址:weixin.qq.com;此情况会有可能会导致uploadfile无效及新增api无效等问题:http://www.wxapp-union.com/portal.php?mod=view&aid=959

9:图片本地可以看到,但是真机无法显示
     假如是背景图,可能是

本地资源无法通过 css 获取 
background-image:可以使用网络图片,或者 base64,或者使用<image/>标签

假如是网络图片,可能是图片服务器设置了反盗链;

10:header设置异常:这个情况多数发生在使用POST时;

data 数据说明 最终发送给服务器的数据是 String 类型,如果传入的 data 不是 String 类型,会被转换成 String 。转换规则如下: 

对于 header['content-type'] 为 'application/json' 的数据,会对数据进行 JSON 序列化 
对于 header['content-type'] 为 'application/x-www-form-urlencoded' 的数据,会将数据转换成 query string (encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...)

11:网络请求设置了referer :

网络请求的 referer 是不可以设置的,格式固定为 https://servicewechat.com/{appid}/{version}/page-frame.html,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版。

12:异步或同步问题;部分操作属于异步操作,比如uploadfile;http://www.wxapp-union.com/forum.php?mod=viewthread&tid=1380

13:超时:

request 的默认超时时间和最大超时时间都是 60s

14:可以参考这个微信小程序常见错误及基本排除方法

原创:跳坑指南——微信小程序真机预览跟本地不同的问题的更多相关文章

  1. 微信小程序真机预览跟本地不同的问题。原文地址:https://blog.csdn.net/qq_27187991/article/details/69664247/

    微信小程序中出现最多的一个问题,就是真机跟本地不同:我简单列举一些我发现的原因,给大家参考,大家也可以把自己发现的东西回复给我,给我参考: 本地看不到数据,就先让本地能看到数据,再看本帖....特别提 ...

  2. 解决微信小程序wepy真机预览跟本地表现不一样,数据变化了视图没变化

    当时搜了很多相关问题都没找到相似的 只看到有这个相似的描述wepy在onLoad里修改data-object的值页面不渲染 ,通过setData解决的. 但是这个还不是根本的解决办法,有些地方用set ...

  3. 小程序红包开发跳坑记 微信小程序红包接口开发过程中遇到的问题 微信小程序红包开发

    现在做小程序的越来越多,商家推广也是一个瓶颈,谁不发点红包,都很难找到人来用你的微信小程序了.于是不管你开发什么小程序功能,你或多或少都要用到小程序来发红包吧.  我们自己之前做公众号发红包,做了两三 ...

  4. 微信小程序图片放大预览

    需求:当点击图片时,当前图片放大预览,且可以左右滑动 实现方式:使用微信小程序图片预览接口 我们可以看到api需要两个参数,分别通过下面的data-list和data-src来传到js中 wxml代码 ...

  5. 微信小程序真机定位问题技巧

    小程序导航 https://wq.xmaht.top 开发者在开发小程序的时候可能会碰到一些这样的问题: 问题1  开发者工具上看效果没问题,但是在真机上测试不行? 问题2  有用户遇到小程序功能无法 ...

  6. 【微信小程序】微信小程序wx.previewImage预览图片

    一.小知识 二.例子,配合轮播图使用效果更佳!(如图1) 1.wxml <scroll-view scroll-y="true"> <swiper catchta ...

  7. 微信小程序:图片预览

    wxml页面: <image src='{{UPLOAD_IMAGES_URL}}{{vv.img_s}}' data-src="{{vv.img}}" bindtap=&q ...

  8. 原创:从零开始,微信小程序新手入门宝典《一》

    为了方便大家了解并入门微信小程序,我将一些可能会需要的知识,列在这里,让大家方便的从零开始学习:一:微信小程序的特点张小龙:张小龙全面阐述小程序,推荐通读此文: 小程序是一种不需要下载.安装即可使用的 ...

  9. 微信小程序之wx.request:fail错误,真机预览请求无效问题解决,安卓,ios网络预览异常

    新版开发者工具增加了https检查功能:可使用此功能直接检查排查ssl协议版本问题: 可能原因:0:后台域名没有配置0.1:域名不支持https1:没有重启工具:2:域名没有备案,或是备案后不足24小 ...

随机推荐

  1. 有关于canvas几个新知识点

    对于canvas的初学者来说,以下几点应该是不知道的知识点: 1.canvas有兼容IE6/7/8的脚本文件 下载地址:https://github.com/arv/explorercanvas 2. ...

  2. SQL Server 汉字转拼音

    IF OBJECT_ID('Fn_GetQuanPin','Fn') IS NOT NULL DROP FUNCTION fn_GetQuanPin go )) ) as begin ),) decl ...

  3. ASP.NET Core Linux下为 dotnet 创建守护进程(必备知识)

    前言 在上篇文章中介绍了如何在 Docker 容器中部署我们的 asp.net core 应用程序,本篇主要是怎么样为我们在 Linux 或者 macOs 中部署的 dotnet 程序创建一个守护进程 ...

  4. 初识Opserver,StackExchange的监控解决方案

    Opserver是闻名遐迩的网站Stack Overflow的开源监控解决方案,由Stack Exchange发布.它基于.NET框架构建,这在监控工具领域有些与众不同. 旨在为每个受监控系统的健康状 ...

  5. 在Linux上编译dotnet cli的源代码生成.NET Core SDK的安装包

    .NET 的开源,有了更多的DIY乐趣.这篇博文记录一下在新安装的 Linux Ubuntu 14.04 上通过自己动手编译 dotnet cli 的源代码生成 .net core sdk 的 deb ...

  6. 浅谈WEB安全性(前端向)

    相信进来的时候你已经看到alert弹窗,显示的是你cookie信息(为配合博客园要求已删除).单纯地在你的客户端弹出信息只是类似于迫使你在自己的房间脱衣服——没人看得到,自然也不算啥恶意行为.那么如果 ...

  7. 利用Generator解决异步回调原理

    var i = 0; i++; function ajax(url){ return new Promise(function(resolve, reject){ setTimeout(functio ...

  8. 一次 Oracle 算出运算溢出问题 排查解决 (并非除数为零!)

    前段时间 出现过这个问题,: 表中有一列为number类型 rec_recordlength (两个时间的间隔长度/秒) 部分数据 统计这个字段就会出现 "算出运算溢出" 错误,很 ...

  9. python基础总结篇——使用Mysql

    python操作Mysql,很方便,使用的MySQLdb的库,基本的操作如下: 查询: try: conn = MySQLdb.connect(host=self.ip, user=self.user ...

  10. 把w3schools英文版的所有属性扒下来了,免费分享。

    为了方便查手册等,把w3schools上的所以属性弄成json版的了,到时候再修改一下,查起来就比较方便了,这里免费分享一下.一共为两份,一份为选择器部分,还有一部分是属性. 选择器部分json 属性 ...