Что ж, если вы используете jQuery и указываете свойство dataType
вызова $.ajax()
для json
, тогда jQuery попытается проанализировать JSON, а если это не JSON следует вызвать error()
обратный вызов.
$.ajax({
url: '/my/script.ext',
dataType: 'json',
success: function(data, textStatus, jqXHR) { /*YAYE!!*/ },
error: function(jqXHR, textStatus, errorThrown) { /*AWWW... JSON parse error*/ }
});
EDIT
Для тех, кто не использует jQuery, который попадает сюда, основная идея состоит в том, чтобы попытаться разобрать его как json и поймать ошибку:
var data = 'some_data';
try {
data = JSON.parse(data);
} catch(e) {
//JSON parse error, this is not json (or JSON isn't in your browser)
}
//act here on the the parsed object in `data` (so it was json).