【发布时间】:2014-02-21 10:59:21
【问题描述】:
我目前有一个 API,允许消费者通过 API 密钥使用它。他们可以使用 cURL 或任何其他脚本语言进行调用——但他们不能调用视图 $.getJSON()。不返回任何结果,只返回一个 HTTP 200 代码。
我需要将 crossdomain.xml 文件添加到我的服务器的根目录还是有其他方法?任何帮助将不胜感激。
【问题讨论】:
标签: json cross-domain
我目前有一个 API,允许消费者通过 API 密钥使用它。他们可以使用 cURL 或任何其他脚本语言进行调用——但他们不能调用视图 $.getJSON()。不返回任何结果,只返回一个 HTTP 200 代码。
我需要将 crossdomain.xml 文件添加到我的服务器的根目录还是有其他方法?任何帮助将不胜感激。
【问题讨论】:
标签: json cross-domain
如果您尝试在向其他域发出请求的浏览器上运行一些 JavaScript,则由于same origin policy,这是不可能的。您可以通过在为代表 JavaScript 访问您的 API 的 Web 内容提供服务的域上设置代理来解决此问题。
crossdomain.xml 特定于 Flash,不会影响 JavaScript。
【讨论】:
$.getJSON 传递的回调函数必须满足两个条件:
这是一个图表:
客户端服务器 ------ ------ 发出 URL 请求 查找与此 URL 匹配的函数 异步执行如果找到,异步执行函数 从回调返回 从服务器端函数返回数据,或错误【讨论】: