在做微信H5应用时发现此问题,项目使用jwt进行用户验证,在header头中拼接token
requestHeader:function () {
var token = this.token() || ''; //问题代码
return {
'Authorization':'Bearer ' + token,
'Sdk-Version':version
}
}
当用户未登录时请求头就变成了
"Authorization:Bearer "
然后ajax报错
{"code":12,"name":"SyntaxError","message":"SyntaxError: DOM Exception 12","line":4,"column":16121,"sourceURL":"https://xxx.com/js/jquery-3.2.1.min.js"}
因IOS不允许请求头中值的开头和结尾出现空格,所以会报错,无法发送任何ajax请求
requestHeader:function () {
var token = this.token() || '0'; //当token不存在时给个默认值就好了
return {
'Authorization':'Bearer ' + token,
'Sdk-Version':version
}
}
感谢: William Sousa