Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
AndreyDyakonov
122 / 120 / 7
Регистрация: 21.04.2013
Сообщений: 615
1

Отловить ошибку в JSON.parse (переварить не JSON)

10.09.2013, 08:59. Просмотров 2328. Ответов 3
Метки нет (Все метки)

получаю ajax ответ от сервера, это строка json. Если на сервере скрипт падает, например по таймауту, то приходит не json, а просто ругань от php. Соответственно вызов JSON.parse на клиенте валит js.. Как корректно обработать ситуацию? Можно предусмотреть префикс в ответе сервера, если он есть - ок, парсим json. Я не очень хорошо знаю js, может быть можно без велосипедостроительства?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.09.2013, 08:59
Ответы с готовыми решениями:

Проверка валидности разбора JSON (JSON.parse)
Пытаюсь разобрать некорректную json строку вот так: var response = JSON.parse(data); Как...

JSON.parse
мне нужно строку преобразовать в массив, имею строку такого типа и преобразовываю так...

JSON.parse и экранированные кавычки
Код var temp = JSON.parse(''); выдаёт ошибку SyntaxError: JSON.parse: expected ',' or '}' after...

Постоянная ошибка SyntaxError: JSON.parse: unterminated string at line 1 column 132829 of the JSON data
что бы не делал, нормально в консоле JSON не выводит, нужно раз 20 обновить только тогда выведет...

3
koza4ok
629 / 438 / 67
Регистрация: 19.09.2012
Сообщений: 1,633
10.09.2013, 10:15 2
Использовать свойства Status и readyState
Javascript
1
2
3
4
5
6
7
8
9
10
11
 xhr.onreadystatechange = function() { 
    if (xhr.readyState != 4) return;
 
    if (xhr.status != 200) {
      // status=0 при ошибках сети, иначе status=HTTP-код ошибки
      alert('Ошибка ' + xhr.status + ': ' + xhr.statusText;
      return;
    }
 
    // обработать результат
  }
1
AndreyDyakonov
122 / 120 / 7
Регистрация: 21.04.2013
Сообщений: 615
10.09.2013, 12:09  [ТС] 3
Забыл сказать что в jquery я делаю. Решил по похожему принципу, по ответу сервера.. просто сначала не догнал, что в ajax jquery есть событие error.. На него и повесил функцию выводящую ошибку и корректно завершающую выполнение скрипта..
0
Vovan-VE
13183 / 6571 / 1039
Регистрация: 10.01.2008
Сообщений: 15,069
10.09.2013, 17:08 4
Javascript
1
2
3
4
5
6
7
try {
    ...
}
catch (e) {
    console.log(e);
    alert('Упс, сервак отдал что-то не то :(');
};
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.09.2013, 17:08

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data
Всем привет, пытаюсь произвести запрос к обработчику c помощью AJAX, выдает ошибку при парсинге...

Код 200 SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
Ребята подскажите плиз, пытаюсь добавить форму отправки сообщений на сайт. После отправки выдает...

JSON.parse
Помогите пожалуйста разобраться. Постараюсь кратко описать суть скрипта. setInterval каждую...

Не работает JSON.parse
Из php передаю в js массив $pd_plan. Array ( => Array ( => 0 ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.