проверка наличия json-объекта в ответе ajax с сервера без сбоя javascript - PullRequest
1 голос
/ 19 ноября 2011

ОБНОВЛЕНИЕ

Здесь Ajax получает ответное изображение с сервера

success: function(responseimage)
            { 
.....
}

Получает объект и помещает его в переменную результата.

 result = jQuery.parseJSON(responseimage);

ответное изображение всегда положительное. В нем всегда что-то есть

Проблема в том, что иногда в responseimage отсутствует объект JSON.

Так, как я могу проверить это после получения результата на сервере frmo есть какой-либо объект или нет?

if( result = jQuery.parseJSON(responseimage)) crashes script
if( typeof jQuery.parseJSON(responseimage)!='undefined') crashes script

Есть еще способы проверить?

Ответы [ 2 ]

2 голосов
/ 19 ноября 2011

Вместо написания более умной tryParseJSON функции (возможно, она уже существует, я не уверен), я бы просто заключил вызов разбора в блок try-catch:

 try {
     result = jQuery.parseJSON(responseimage);
 } catch (e) {
     result = {}; // Or some default value
 }
0 голосов
/ 19 ноября 2011
var result;

if (responseimage) {
    result = jQuery.parseJSON(responseimage);
}
...