2010-08-25 4 views
1

Я использую следующий URI, например, чтобы перейти к jQuery getJSON.Проблема с jQuery getJSON

var publicVidsUrl = 'http://api.publicvideos.org/v/0/clips?callback=?'; 

$.getJSON(publicVidsUrl, function(data){ 
    alert(data.length); 
}); 

... но неисправен. В то время как JSON вернулся, как действительный в JSON lint, я не уверен. Сбежавшие двойные кавычки кажутся прекрасными, но мне интересно о двойных кавычках вокруг каждого объекта в родительском массиве.

Может кто-нибудь, пожалуйста, пояснить, откуда эта ошибка? В частности я получаю эту ошибку с JQuery в Firebug консоли:

(d || "").split is not a function 

Я использую JQuery 1.4.2

+0

Вы установлен Firebug, так что вы попробовали 'console.dir (data);' внутри вашего обратного вызова? – meagar

+7

Этот URL не возвращает [JSONP] (http://en.wikipedia.org/wiki/JSON#JSONP). – James

+1

«Сбежавшие двойные кавычки кажутся прекрасными», но на самом деле это не так. –

ответ

0

Вы должны процитировать ваши строки, если вы опуская их в реальном коде вы» LL получите синтаксическую ошибку, прежде чем что-нибудь еще произойдет:

var publicVidsUrl = "http://api.publicvideos.org/v/0/clips?callback=?"; 
+0

Есть кавычки вокруг строки, одинарные кавычки. – jerome

+0

В то время я не отправил ответ, и по какой-то причине я не могу его удалить; нажав кнопку «Удалить», произведите голосование, чтобы удалить его, а не удалять его прямо. – meagar

1

API-интерфейс, кажется, не быть предназначены для яваскрипта потребления, скорее всего, его означало быть обработаны ServerSide; PHP, Python, C# и т. Д.

Любой javascript, который вы используете, терпит неудачу из-за проблем с перекрестным доменом. Если вы не работаете на publicvideos.org или не имеете доступа к публикации сценария в своем домене.

+0

Если вы запустите код, вы увидите, что функция getJSON возвращает JSONP, я не думаю, что это проблема с crossdomain. – jerome

+0

Нет, он возвращает JSON, есть разница. Http://en.wikipedia.org/wiki/JSON#JSONP –

0

Право, поэтому я не получаю JSONP обратно из API общедоступного видео. Надеюсь, что все это отсортировано.

0

Недействительный JSONP. Действительный JSONP должен начинаться с? и все должно быть завернуто в круглые скобки. Вот пример правильного отформатированного JSONP:

?({"posts":[{"id":"6", "url":"sample-6", "title":"sample 6", "content":"sample 6"},{"id":"5", "url":"sample-5", "title":"sample 5", "content":"sample 5"}]}); 
0

JSONP не поддерживается, поэтому запрос на стороне клиента для этого API не будет работать.

Посмотрите весь путь в нижней части: http://wiki.publicvideos.org/api/main

Edit: Ха-ха, только заметил, что это был ваш собственный пост в вики Jerome .. Я оставлю это здесь ради потомства :)

Смежные вопросы