Uncaught SyntaxError: Unexpected token E in JSON at position 0 at JSON.parse ()

當直接將返回值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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章