admin管理员组

文章数量:1611130

错误原因简单来说就是JSON.parse不能二次解析已经是对象的json对象了。

源代码

function loadAD(){
      wx.request({
        url: 'https://wx.xxx.cm/Classes/AD/AD.json',
        success(res){
          var jsondata=JSON.parse(res.data);
          console.log(jsondata);
          if (jsondata['text']!=null) {
            a.setData({
              adText:jsondata['text'],
            });
          }
          if (jsondata['imgURL']!=null) {
            a.setData({
              adImg:jsondata['imgURL'],
            });
          }
        }
      })
    };
该url指向的AD.json的内容
{"text":null,"imgURL":null} 

运行错误显示

SyntaxError: Unexpected token o in JSON at position 1
    at JSON.parse (<anonymous>)
    at success (index.js? [sm]:28)
    at Function.i.<computed> (VM6677 WAService.js:2)
    at :55247/appservice/<api request success callback function>
    at VM6677 WAService.js:2
    at l (VM6677 WAService.js:2)
    at Function.<anonymous> (VM6677 WAService.js:2)
    at :55247/appservice/<NetworkRequest35success callback function>
    at VM6677 WAService.js:2
    at VM6677 WAService.js:2(env: Windows,mp,1.05.2104192; lib: 2.16.0)

错误分析及解决方案

function loadAD(){
      wx.request({
        url: 'https://wx.xxx.cm/Classes/AD/AD.json',
        success(res){
          var jsondata=JSON.parse(res.data);
                              ↑这里出现了错误
          success回调的res.data已经是解析好的json对象,无需再次JSON.parse,二次parse导致的错误产生
          解决方案:将上边这一行改成var jsondata=res.data;
=========================================================================与下边无关
          console.log(jsondata);
          if (jsondata['text']!=null) {
            a.setData({
              adText:jsondata['text'],
            });
          }
          if (jsondata['imgURL']!=null) {
            a.setData({
              adImg:jsondata['imgURL'],
            });
          }
        }
      })
    };

如果有帮助到你了

就请点个赞哇~ 

本文标签: 程序unexpectedSyntaxError微信小Token