支付宝小程序 cannot read property 'toString' of null错误
前言
这段时间在整一个支付宝小程序,白天实习工作,晚上回来继续撸支付宝小程序。
前端用美团点评的mpvue开源框架,也是过年那段时间才支持支付宝小程序的,就拿来练练说呗。网络请求用的是flyio,没错,就是在网络请求的时候出现了点问题。
问题出现及解决方法
# 出现在flyio请求网络带上头部Authorization JWT授权信息的时候
# 由于采用vuex的状态管理,而对于Authorization初始值默认采用my.getStorageSync方式获取,当第一次不存在这个值的时候取不到值并且不存在默认值,所以出现问题。
cannot read property 'toString' of null
解决方法:
解决方法比较简单,给予一个 ||
判断,如果没有则直接返回空值。
# 这是我的flyio request代码(重点看Authorization那一行吧)
// 添加请求拦截器
request.interceptors.request.use((request) => {
// todo 添加适配后端JWTheader
// 可以显式返回request, 也可以不返回,没有返回值时拦截器中默认返回request
request.headers['Authorization'] = store.state.token || ''
return request
})