当直接将返回值JSON.parse(),并且使用这个值去取值,报这个Uncaught SyntaxError: Unexpected token E in JSON at position 0 at JSON.parse ()。
JSON.parse()里的参数只能是string类型,但是在下面的代码中,返回的不是正常的值,不是string,所以会报错。

var resData = JSON.parse(resp);
      var code= resData['code'];
      var msg= resData['msg'];
      alert(msg)

所以在使用这个值的时候,需要加一层判断:

let msg;
let dataType = typeof resp == 'string';
    if (dataType) {
      var resData = JSON.parse(resp);
      var code= resData['code'];
     msg= resData['msg'];
      alert(msg)
 } else {
     let errormsg = result.msg;
     msg = errormsg.address + ':' + errormsg.port + ' ' + '请检查访问地址后重试.';
     alert(msg)
 }

这样就不报错了

参考:
https://blog.csdn.net/user_zpa/article/details/80280972

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐