Проблема с jQuery getJSON - PullRequest
       43

Проблема с jQuery getJSON

1 голос
/ 25 августа 2010

Я использую следующий URI, чтобы перейти к getQSON в jQuery.

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

Ответы [ 5 ]

1 голос
/ 25 августа 2010

Похоже, что API не предназначен для использования JavaScript, более вероятно, что он предназначен для обработки на стороне сервера;PHP, Python, C # и т. Д.

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

0 голосов
/ 25 августа 2010

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

Посмотрите полностью внизу: http://wiki.publicvideos.org/api/main

Редактировать: Хаха, только что заметил, что это был твой собственный пост в вики Джером .. Я оставлю это здесь для потомков:)

0 голосов
/ 25 августа 2010

Это не допустимый 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 голосов
/ 25 августа 2010

Правильно, поэтому я не получаю JSONP от API Public Videos. Надеюсь, что это как-то отсортировано.

0 голосов
/ 25 августа 2010

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

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