Поймать ошибку $ .getJSON - PullRequest
       3

Поймать ошибку $ .getJSON

2 голосов
/ 10 января 2011

Я пытался понять это часами. У меня есть DYNAMIC поиск на YouTube, для которого я использую JSON API для Youtube. Обычно это работает, но бывают случаи, когда он ничего не находит. Есть ли способ выяснить, если он ничего не находит, а затем завершить функцию, потому что в противном случае он останавливает весь код. Я попробовал jsonp, но это было не совсем правильно. Где-то я читал, что перехват ошибок встроен в новейший jQuery getJSON, но я не смог его найти.

Код действительно утомителен, поэтому я бы предпочел не публиковать его, если не доходит до этого. Буду признателен за любую помощь! Спасибо, ребята.

ошибка, показывающая, что json ничего не возвращал

jquery-1.4.4.min.js: 32 TypeError: Результат выражения 'j' [undefined] не является объектом.

http://pastebin.com/4rVjAUwa

Ответы [ 4 ]

1 голос
/ 10 января 2011

Вы пытались просто использовать jsonp или jQuery.get и затем анализировать вывод, если он не является ничем?

1 голос
/ 10 января 2011

Если вам нужно перехватить ошибки, используйте $ .ajax со свойством error:

$.ajax({
  url: url,
  dataType: 'json',
  data: data,
  success: callback,
  error: callback
});
0 голосов
/ 10 января 2011

Я понял, все, что мне нужно было сделать:

if (data.feed.entry == null)

перед .each (), чтобы отловить ошибку.

0 голосов
/ 10 января 2011

извините, но я не имею права комментировать. Вы не можете извлечь данные с удаленного сервера с json. ты пробовал jsonp? это

http://gdata.youtube.com/feeds/api/videos?max-results=5&alt=json&q=phish&callback=?
...