这个 bug 的发现过程在这里: https://developers.weixin.qq.com/blogdetail?action=get_post_info&lang=zh_CN&token=231510329&docid=99f032bff8b2a6ccb37ffd4414aa5575
调查结果表明从 excel 复制值出来时,可能会带有 \u2028 和 \u2029,这两个分别作为行分隔符和段落分隔符存在。已上线的微信小程序,微信支付报错了或微信支付无反应,该如何结局? ...。
考虑微信可能用了 jsonp 的方式去实现了跨域请求,或者其他什么方式,使得即使在接口 response header 中声明 content-type 为 'application/json' 后仍然需要微信小程序框架这边手动 JSON.parse 返回的字符串。然后导致了上述的错误。
查找了一些文档后,在这里向微信的同学提供一些文档方便理解问题:
https://stackoverflow.com/questions/2965293/javascript-parse-error-on-u2028-unicode-character
https://github.com/expressjs/express/issues/1132
https://github.com/rails/rails/issues/10320
再次恳请微信的同学看一下这个问题,然后给出答复。
微信小程序开发相关问题解答;本文来自微信小程序工厂 http://www.xcxgc.com 转载请保留。
微信小程序开发者回答:
吴***:
真的打算无视我么?至少回复「收到反馈,开始调查」也 OK 啊!
邓***:
你好,已收到反馈,正在跟进
F 修复 组件 <navigator /> 快速点击时会新开两个页面的问题--微信小程序开发教程 ...
邓***:
你好,问题没有复现,能否提供复现问题的简单 demo 示例和数据示例
吴***:
https://developers.weixin.qq.com/blogdetail?action=get_post_info&lang=zh_CN&token=231510329&docid=99f032bff8b2a6ccb37ffd4414aa5575 这个帖子内有不少同学复现了。
请再阅读一下我的帖子,我认为我讲的很明白了。
吴***:
请求微信团队再看一下这个问题。有不少开发者能够复现。
reLaunch的bug:似乎支持带参数
吴***:
最小复现步骤:编写一个后端接口,返回 JSON 格式数据(Content-Type: application/json; charset=utf-8),其中某字段的 value 包含特殊 '\u2028' (unicode line seperator)
然后微信小程序使用 wx.request 请求该接口,如果请求成功,那么微信小程序会立即崩溃,并打出错误 Unexpected EOF Stack: [native code]
本文网址:http://www.91bianli.com/kaifazhinan/73212.html