代码之家  ›  专栏  ›  技术社区  ›  George Mauer

jquery-ajax-getjson响应的大小为空体?

  •  3
  • George Mauer  · 技术社区  · 14 年前

    我们试图使用jquery的getjson()方法访问meetup.com API,但遇到了一些问题。 在Firebug里我们可以跑

    $.getJSON(
    'http://api.meetup.com/events.json?group_urlname=Closing-the-NOLA-Gap&key=ourkey', 
    function(data) { console.log(data) }
    );
    

    我们可以看到电话花了一些时间。我们可以检查响应头,看到内容大小是42K,但是内容体(如Firebug所示)是空的!这怎么可能?

    当我们指向浏览器中的URL时,页面上会显示所有适当的JSON格式的文本。

    我们遗漏了什么?

    另外,我们已经尝试了$.Ajax和$.get-每个都有相同的结果。我们还尝试了3个参数,第一个是URL,第二个是空值,第三个是回调。

    1 回复  |  直到 14 年前
        1
  •  5
  •   Community Egal    7 年前

    确保你有 callback=? 在你要访问的URL的查询字符串中…因为它是一个远程域,所以你需要使用 JSONP 这里(哪些) 回调=? 触发器)。这样地:

    $.getJSON(
     'http://api.meetup.com/events.json?group_urlname=Closing-the-NOLA-Gap&key=ourkey&callback=?', 
     function(data) { console.log(data); }
    );
    

    $.getJSON() 文档:

    如果URL包含字符串 "callback=?" 在URL中,请求被视为JSONP。参见 jsonp 数据类型 $.ajax() 了解更多详细信息。