我试图简单地发送一个带有“名字”的警报,但它似乎不起作用。建议?
$(document).ready(function() {
$.getJSON("http://api.crunchbase.com/v/1/companies/permalink?name=Google", function(data) {
alert("Hello: " + data.name);
});
});
以下是JSON包含的内容:
{"crunchbase_url": "http://www.crunchbase.com/company/google",
"permalink": "google",
"name": "Google"}
答案 0 :(得分:2)
如果您不是Crunchbase,则无法发送该请求。出于安全原因,只有www.crunchbase.com
可以向www.crunchbase.com
发送AJAX请求。 (想象一下,我们正在谈论www.bankofamerica.com
并且我已经登录。如果任何网站都可以通过附加我的cookie向www.bankofamerica.com
发送任意请求,那将是一个问题。)
然而,API documentation确实表示JSON-P选项。如果您感兴趣,可以查看实现细节,但重要的是JSON-P技术能够绕过域名限制,因为Crunchbase的API将允许您。
网址http://api.crunchbase.com/v/1/company/google.js
与您提到的网址类似,但此特定网址允许您使用JSON-P,而您发布的网址却不允许。 jQuery允许您轻松地执行此操作:将URL传递给$.getJSON
作为http://api.crunchbase.com/v/1/company/google.js?callback=?
(关于回调的位很重要!),jQuery将填充空白并处理幕后加载的魔术脚本。这很奇特:)
答案 1 :(得分:0)
通常你在这里使用JSONP,将&callback=?
添加到你的网址然而在这种情况下不支持JSONP回调,来自{{ 3}}:
列出实体
要检索CrunchBase上某个命名空间中所有实体的列表,请使用以下格式的URL:
http://api.crunchbase.com/v/1/<plural-namespace>
多个可用的命名空间是:
- 公司
- 人
- 金融组织
- 产品
- 服务提供商
此操作不支持JavaScript回调。
底线是最重要的,您会看到:crunchbase API documentation仍会产生常规JSON,而不是JSONP。