尝试解析JSONP时jQuery和$ .ajax的问题

时间:2010-03-02 21:27:36

标签: jquery jsonp

所以,这是我的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 个答案:

答案 0 :(得分:4)

您需要一个名为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");
  },
});

答案 1 :(得分:3)

这对我来说在使用chrome的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=?'

   });
});​