$ .getJSON не работает с моим сайтом - PullRequest
1 голос
/ 21 января 2011

Я пытаюсь сделать междоменный запрос с $ .getJSON на мой сайт, и он не работает: функция обратного вызова не вызывается. Я нашел этот простой пример:

 $.getJSON('http://twitter.com/users/usejquery.json?callback=?', function(data) { 
  console.log(data); 
 });

И это работает с твиттером, но не с моим сайтом. Я скопировал возвращенный файл, заголовки ответа сервера из Twitter, и он все еще не работает. Я не знаю, как его отладить и выяснить в чем проблема.

Кто-нибудь знает, что это может быть?

1 Ответ

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

Вы возвращаете JSONP ?Уловка с параметром callback заключается в том, что возвращается не JSON , а вызов функции JavaScript с параметром "JSON".Посмотрите на результат упомянутого вызова API Twitter для примера.

Документы jQuery.ajax () также кратко об этом говорят (поиск dataType и JSONP).1011 * Почему копия ответа Twitter не работает: callback=? часть вызова getJSON будет заполнена random именем функции.jQuery составляет имя, чтобы не вступать в конфликт с какой-либо уже существующей функцией, и впоследствии удаляет функцию.

...