【问题标题】:Browser Api call works but Ajax does not [duplicate]浏览器 Api 调用有效,但 Ajax 无效 [重复]
【发布时间】:2014-03-08 16:51:09
【问题描述】:

您好,我正在测试 http://airportcode.riobard.com 的 rest api 调用,它允许我查找机场代码。当我在浏览器中输入以下内容时:

http://airportcode.riobard.com/search?q=las%20vegas&fmt=JSON

我得到了正确的 json。但是,当我进行 json jQuery 调用时:

var url = 'http://airportcode.riobard.com/search?q=las vegas&fmt=JSON';

// Request json
jQuery.getJSON(url, function(data){
    console.log(data);
});

我得到一个 200,这很好,但响应对象是空的。为什么会发生在我身上?

谢谢。

【问题讨论】:

  • 不是。一方面,我不知道问题是跨域问题。事实上,这个问题指出了一些描述跨域问题的异常行为,而另一个问题则以它是处理 jsonp 的跨域问题开始,这意味着这是一个不同的问题。与我的问题不同的另一件事是我的 api 不提供 jsonp 功能,其他问题询问它。不同的问题。

标签: javascript jquery ajax json


【解决方案1】:

所以交易是,我无法访问 json,因为它与我的其他 javascript 的来源不同。这是跨站点脚本的一个很好的例子,我忘记了。

【讨论】:

    【解决方案2】:

    检查控制台,它可能会显示一个

    来源___________ 是不允许的通过访问控制允许来源。

    这意味着您需要在服务器中的响应中添加一些标头。 特别是 Access-Control-Allow-Origin 到 "*" 或者您可以尝试使用 JSONP 请求。 $.JSONP

    【讨论】:

    • 那不在请求标头中。原点为空,因为我从本地运行脚本。不幸的是,我认为我只需要编写 PHP rest api 来充当这个问题的快递员。
    猜你喜欢
    • 1970-01-01
    • 2019-03-20
    • 1970-01-01
    • 2021-09-19
    • 2018-11-30
    • 2013-08-20
    • 1970-01-01
    • 1970-01-01
    • 2014-06-19
    相关资源
    最近更新 更多