Проблема с jQuery и $ .ajax при попытке проанализировать JSONP - PullRequest
2 голосов
/ 03 марта 2010

Итак, вот мой URL JSONP:

http://community.tradeking.com/leaderboard.js

А вот jQuery, с которым я пытаюсь разобрать его:

$.ajax({
  dataType: 'jsonp',
  jsonp: 'callback',
  url: 'http://community.tradeking.com/leaderboard.js?callback=?',
  success: function () {
    alert("something");
  },
});

А вот ошибка, которую я получаю в Firebug:

processLeaderboard не определен

Я также пробовал использовать getJSON и специальный плагин jQuery JSONP, но все они терпят неудачу похожим образом. JSONP успешно используется в других местах.

Ответы [ 2 ]

4 голосов
/ 03 марта 2010

Вам нужна функция, которая называется processLeaderboard, так как имя этой функции кажется жестко закодированным в ответе от вашей ссылки.

var processLeaderboard = function (data) {
  alert('Do your stuff here');
}

$.ajax({
  dataType: 'jsonp',
  jsonpCallback: 'processLeaderboard',
  url: 'http://community.tradeking.com/leaderboard.js?callback=?',
  success: function () {
    alert("something");
  },
});
3 голосов
/ 03 марта 2010

Это отлично работает для меня в jsbin с использованием хрома.

var processLeaderboard = function(x) {
  alert(x[0].member.avatar.public_filename);
};

$(document).ready(function() {

   $.ajax({
     dataType: 'jsonp',
     jsonp: 'processLeaderboard',
     url: 'http://community.tradeking.com/leaderboard.js?callback=?'

   });
});​
...