【问题标题】:Allow Consumer of an API to access view jQuery getJSON允许 API 的使用者访问视图 jQuery getJSON
【发布时间】:2014-02-21 10:59:21
【问题描述】:

我目前有一个 API,允许消费者通过 API 密钥使用它。他们可以使用 cURL 或任何其他脚本语言进行调用——但他们不能调用视图 $.getJSON()。不返回任何结果,只返回一个 HTTP 200 代码。

我需要将 crossdomain.xml 文件添加到我的服务器的根目录还是有其他方法?任何帮助将不胜感激。

【问题讨论】:

    标签: json cross-domain


    【解决方案1】:

    如果您尝试在向其他域发出请求的浏览器上运行一些 JavaScript,则由于same origin policy,这是不可能的。您可以通过在为代表 JavaScript 访问您的 API 的 Web 内容提供服务的域上设置代理来解决此问题。

    crossdomain.xml 特定于 Flash,不会影响 JavaScript。

    【讨论】:

    • 为什么可以做 $.getJSON("api.twitter.com", function(data) { //something }); ?您应该能够对另一个域执行 $.getJSON 以获得结果 - 对吗?
    【解决方案2】:

    $.getJSON 传递的回调函数必须满足两个条件:

    • 其参数的顺序必须正确
    • 它必须在需要它的 API 的服务器上具有接收器函数

    这是一个图表:

    客户端服务器 ------ ------ 发出 URL 请求 查找与此 URL 匹配的函数 异步执行如果找到,异步执行函数 从回调返回 从服务器端函数返回数据,或错误

    【讨论】:

      猜你喜欢
      • 2013-10-05
      • 2013-07-04
      • 2013-08-20
      • 1970-01-01
      • 2018-10-24
      • 1970-01-01
      • 1970-01-01
      • 2021-01-11
      • 2019-06-29
      相关资源
      最近更新 更多