Ошибка синтаксического анализа JSON: нераспознанный токен '<' - PullRequest
0 голосов
/ 02 июня 2018

Я получаю эту ошибку (в соответствии с веб-инспектором Safari), но не могу понять, почему.В большинстве сообщений об этой ошибке указывается, что он где-то читает тег HTML ... но я его не вижу.

var oReq = new XMLHttpRequest(); //New request object
    oReq.onload = function() {
document.getElementById("myConsole").innerHTML = this.responseText;
myData = JSON.parse(this.responseText);
...

Третья строка кода сбрасывает responseText на мою веб-страницу (в DIV под названием 'myConsole)«).Это показывает то, что я считаю стандартным кодом JSON ... и не содержит символов «<». </p>

Вторая строка кода пытается проанализировать responseText и выдать ошибку токена «<». </p>

Источник данных php выглядит следующим образом:

$rowCount = 0;
    do { $rowCount += 1;
        $dbCurrentRow = $resultSet->fetch_assoc();
        $seats[$rowCount]['room'] = $dbCurrentRow['Room'];
        $seats[$rowCount]['seat'] = $dbCurrentRow['Seat'] * 1;
        $seats[$rowCount]['x'] =  $dbCurrentRow['x'] * 1;
        $seats[$rowCount]['y'] =  $dbCurrentRow['y'] * 1;
        $seats[$rowCount]['name'] =  "Joe Bloggs";
        $seats[$rowCount]['adno'] =  "01234";
        $seats[$rowCount]['ev6'] =  true;
        $seats[$rowCount]['eal'] =  true;
        $seats[$rowCount]['dpLast'] =  "LS";
        $seats[$rowCount]['dpCurrent'] =  "WA";
        $seats[$rowCount]['dpTarget'] =  "TG";
        $seats[$rowCount]['ma'] =  2 * 1;

        } while ($rowCount < $resultSet->num_rows);

echo json_encode($seats);

, а вывод JSON выглядит так:

{"1": {"room": "35", "seat ": 1," x ": 0," y ": 0," name ":" Joe Bloggs "," adno ":" 01234 "," ev6 ": true," eal ": true," dpLast ":"LS", "dpCurrent": "ВД", "dpTarget": "ТГ", "ма": 2}, "2": { "номер": "35", "место": 2, "х":30, "y": 60, "name": "Joe Bloggs", "adno": "01234", "ev6": true, "eal": true, "dpLast": "LS", "dpCurrent": "Вашингтон " "dpTarget": "ТГ", "ма": 2}, "3": { "номер": "35", "место": 3, "х": 60, "у": 0,"name ":" Joe Bloggs "," adno ":" 01234 "," ev6 ": true," eal ": true," dpLast ":" LS "," dpCurrent ":" WA "," dpTarget ":" TG"," ma ": 2}," 4 ": {" room ":" 35 "," seat ": 4," x ": 90," y ": 90," name ":" Joe Bloggs ","adno ":" 01234" , "EV6": правда, "EAL": правда, "dpLast": "LS", "dpCurrent": "ВД", "dpTarget": "ТГ", "ма": 2}}

Я не считаю, что это проблема синхронизации сервера, так как это дамп myConsoleпредшествует ошибке и работает нормально.Не похоже, что JSON неисправен даже с двумерным массивом.Странно, если я возьму вывод JSON и сохраню его как «testDataSample.php» и свяжу с ним мою главную страницу, тогда тот же вывод будет работать безупречно.

   //oReq.open("get", "testDataSample.php", false); //Text JSON output works fine
    oReq.open("get", "getData.php", false); // Live from Server ... '<' error
    oReq.send();

Любые предложения относительно того, что не так или как я бы это отследил, были бы очень кстатиСпасибо.

1 Ответ

0 голосов
/ 02 июня 2018

Спасибо raghav710: -)

Журнал консоли показал это ... У меня были некоторые комментарии вверху файла dataSource.php, которые были включены в эхо.

Записав это на мою веб-страницу ... они были проигнорированы и невидимы ... что означает, что я не мог их видеть и не мог видеть разницу между двумя выходами;парсинг комментариев JSON вызвал удушье.

Я удалил все комментарии в верхней части моего datasource.php, и он мгновенно заработал.

Еще раз спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...