苦苦挣扎JSON / JSONP

时间:2012-11-30 09:53:47

标签: jquery ajax json jsonp

我对JSON善良的世界很陌生,我真的很难获得跨域请求。真的是我的头脑:(

我的代码是:

$.getJSON('http://api.steampowered.com/IEconDOTA2_570/GetHeroes/v0001/?language=en_us&key=<MY KEY HERE>&callback=?', function(data) {
    alert("success");
});

根据我的理解,添加&amp; callback =?到url的末尾意味着它将调用我接下来的函数,它应该弹出一个简单的警告框。出于某种原因,这从未发生过。在查看Firebug时,我可以看到响应很好并且预期的数据结果在那里....但我的函数从未被调用过。但是,如果我尝试为回调定义一个特定的函数,我没有得到响应。非常困惑,非常感谢任何帮助。

谢谢你们!

2 个答案:

答案 0 :(得分:0)

试试这段代码:

$.ajax({ url:'http://api.steampowered.com/IEconDOTA2_570/GetHeroes/v0001/?language=en_us&key=<MY KEY HERE>',
         dataType:'jsonp',
         succes:function(data) {
           alert("success");
        }
});

$.getJSON - 仅适用于json。但$.ajax dataType:'jsonp', {{1}}将正确添加回调

答案 1 :(得分:0)

您可以使用ajax()方法,而不是这样:

$.ajax({
  url: "'http://api.steampowered.com/IEconDOTA2_570/GetHeroes/v0001/?language=en_us&key=<MY KEY HERE>",
  cache: false,
  dataType: 'jsonp',
  success: function( data ){
    alert("success");
  }
});