【问题标题】:$.getJSON to receive JSON from API URL$.getJSON 从 API URL 接收 JSON
【发布时间】:2011-11-26 00:53:17
【问题描述】:

嘿,如果有人可以帮助我,我已经做了尽可能多的研究,但无法弄清楚我的问题。

基本上已经设置了一个指向 JSON 文档的 API,并且似乎有东西挂断了 URL,这就是我目前正在使用的内容

$(document).ready(function () {
    $('#submit').click(function () {
        $.getJSON('http://localhost:41387/api/v0/9405503699300197435172',
            function (json) {
                console.log(json);
            }
        );
    });
});

我认为请求正在发出并完成,但我没有得到响应。

我知道它不可能是代码,因为我使用了 twitter 搜索 URL 并得到了回复。

服务器代码中没有抛出任何错误或异常。

任何帮助将不胜感激。

【问题讨论】:

  • 如果你把 url localhost:41387/api/v0/usps/9405503699300197435172 放到你的浏览器中,你会得到 JSON 吗?
  • 当您在导航器上执行该 URL 时会发生什么?您是否收到 JSON 作为响应?
  • 这些问题的答案是肯定的,但由于某种原因,我不得不附加 ?callback=?到 url,它最终发回了请求。有人解释一下吗?
  • @mgaughan:这就是JSONP。您不能从 different domain 请求 JSON。 JSONP 实际上不是 JSON,它是一个包含 JSON 的 JavaScript 文件(嗯,一个用 JSON 调用的函数)。 ?callback=? 告诉 $.getJSON 使用 JSONP。
  • 您的包裹已于 2011 年 8 月 23 日星期二下午 2:15 交付:-P

标签: jquery getjson


【解决方案1】:

通过阅读您的问题和 cmets,我认为它在使用 JSONP 时起作用的原因可能与浏览器设置的跨域限制有关。

确保您运行 ajax 调用的页面和 ajax URL 在同一个域中。在这种情况下,它们都需要在“http://localhost”域名上。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-03
    • 2023-03-10
    • 1970-01-01
    • 2012-12-05
    • 1970-01-01
    • 1970-01-01
    • 2018-03-22
    • 2017-12-08
    相关资源
    最近更新 更多