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