最近有用户老是反应我们的小程序打开白屏,我们在排查首页加载速度的时候,做了个埋点。统计了一下请求数据,其中一个是http code,惊奇的发现没有304,全是200
奇怪的是,我们的后台已经对多数数据变化不大的接口调用做了etag和last modified支持,而且我们在开发者工具调试的时候也发现这个机制是正常的。
我们的代码
/** * ajax请求 * @param {Object} [请求选项,见request API] */ ajax = (options = {}) => { if (!options.url) return ; options.url = `${config.ajaxURL}${options.url}`; let fn = options.success, error = options.fail; options.success = res => { if (res.statusCode == 200) { if (res.data.status == -11) { getApp().globalData.login(() => { wx.redirectTo({ url: $.history().fullPath, }); }); return ; } if (res.data.status == 0 && typeof fn === 'function' ) return fn(res.data); if ( typeof error === 'function' ) error(res.data); } else if ( typeof error === 'function' ) error(res.data); }; options.fail = res => { console.log(res); wx.showToast({ title: res.data, icon: 'loading' , }); if ( typeof error === 'function' ) error(res); } wx.request($.extend( true , options, { header: { "content-type" : "application/x-www-form-urlencoded" , sk: (wx.getStorageSync( 'user' ) || {}).session_key, }, })); }; |
我们就采用真机抓包发现,在真实的手机上,一点作用都没有,每次都是直接200,请求的头里面也没有带etag上去
文档里也没有对这块做说明,要知道这套机制能显著的增强用户前端的体验,麻烦官方给个说明。如果是bug请修复。
你好,开发工具使用 Chrome 内核来实现,所以支持 HTTP 的一些特性。真机目前没有支持,我们后续考虑支持此类标准。
感谢,希望能快快的支持此类标准。这对网络应用特别重要。
借楼问一下,有时候wx.reqeust会地址解析失败,ios打开五六次会出现一次这种情况
https://developers.weixin.qq.com/blogdetail?action=get_post_info&docid=000a420d03c6700400d63a01851800&token=1292522900&lang=zh_CN