Unexpected token o in JSON at position 1出错原因及解决方法
当前端使用JSON.parse解析服务端返回数据的时候报(Unexpected token o in JSON at position 1)错误。原因是返回的数据本来就是对象,在用JSON.parse去解析就显的多余还要报错。解决办法可以用以下方法增加一个判断来解决
下面展示一些
内联代码片
。
var joinObj
var message;
var code;
var typeStr = typeof(result)
if (typeStr == 'object'){
message = result.message;
code = result.code;
} else if(typeStr == 'string'){
joinObj = JSON.parse(result)
message = joinObj.message
code = joinObj.code
}
if(code === 0) {
return window.alert(message);
}
else if(code === 1){
window.location.href = '/login.html'
return window.alert(message);
}
其中result是服务端返回的数据,使用typeof解析返回值类型,如果是object类型就不用JSON.parse(result)否则就使用JSON.parse生成一个对象。这样就可获取属性方法了。