已解决:莫名错误---Uncaught SyntaxError: Unexpected token o in JSON at position 1

∫`不撒娇的折耳猫 2020-5-27 2578

       最近,用 js 的时候突然发现了一个令人脑瓜疼的问题,喏,就是下面的这货,真是让人郁闷。并且每次刷新页面,问题的数量就要增加一次,最后几十次的错误,真是让人脑壳大。

网上找了些解决办法,有个说是字符串单双引号的问题,感觉可能有点道理,对照了下我的代码,发现是这样的

引号呢????这分明是一个变量啊,虽然按他说的没解决问题,不过却提醒了我,是不是因为变量类型的问题呢?接下来我就打印了这个变量的类型

惊喜的事情发生了

对的,你没有看错,在不同的地方调用方法的时候,这个变量的的类型是不一样的,JSON.parse()里的参数只能是string类型,当为obj的时候,问题就出来了。既然找到了问题,那么解决的办法就很简单了,下图所示

这个问题在这里就这么解决了……

给大家粘一下核心代码……真的是头大……

          $.post('{:url("status")}', { 'id': id, 'status': status }, function(res) {
                layer.close(loading);
                var start = typeof res =='string'?JSON.parse(res):res;
                if (start.code == 1) {
                    layer.msg(start.msg, { time: 1000, icon: 1 });
                    form.render();
                } else {
                    layer.msg(start.msg, { time: 1000, icon: 2 });
                    if (obj.elem.checked){
                        obj.elem.checked = false;
                    }else{
                        obj.elem.checked = true;
                    }
                    form.render();
                    return false;
                }
            })



最新回复 (0)
发新帖