Отладка и парсинг JSON на клиенте в AJAX в PHP
В предыдущем уроке мы меняли
метод json на метод text,
чтобы выявить ошибку JSON.
Может возникнуть идея в процессе
разработки сразу вызывать оба метода,
чтобы не выполнять переименовывание
в случае проблем.
Однако, тут не все так просто.
Следующий код не будет работать,
так как будет выброшено исключение
и мы увидим результат работы
блока catch:
try {
let data = await response.json();
let text = await response.text();
console.log(text);
} catch {
console.log('json error');
}
Что, если метод text написать
перед блоком try? Так тоже
не будет работать, так как
данные из объекта response
можно прочитать только один раз:
let text = await response.text();
console.log(text);
try {
let data = await response.json();
console.log(data);
} catch {
console.log('json error');
}
Давайте тогда вызовем метод text
перед блоком try,
а JSON будем разбирать через JSON.parse.
Вот теперь будет работать:
let text = await response.text();
console.log(text);
try {
let data = JSON.parse(text);
console.log(data);
} catch {
console.log('json error');
}
Реализуйте в своем коде описанный вариант отладки.