2010-12-02 94 views
0

我试图简单地用“名称”发送警报,但它似乎不起作用。建议吗?

$(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

通常你会在这里使用JSONP加入&callback=?到您的网址,但是一个 JSONP回调不会在这种情况下支持,从crunchbase API documentation

名单实体

检索所有实体的列表在CrunchBase一定的命名空间,可以使用以下格式的URL:

http://api.crunchbase.com/v/1/<plural-namespace>

的多个可用的命名空间是:

  • 公司
  • 金融机构
  • 产品
  • 服务提供商

此操作不支持JavaScript回调。

底线是最重要的,你会看到这一点:http://api.crunchbase.com/v/1/companies/permalink?name=Google&callback=callme仍然导致经常JSON,而不是JSONP。

+0

谢天谢地,OP显然只是真的想要加载一家公司,所以把他移到单一的行动可能会解决这一点。 – Matchu 2010-12-02 03:22:50

2

如果你不Crunchbase,你不能发送该请求。出于安全原因,只有www.crunchbase.com可能会向www.crunchbase.com发送AJAX请求。 (想象一下,我们都在谈论www.bankofamerica.com和我登陆,这将会是一个问题,如果我的饼干附加随便什么网站可以发送任意的请求www.bankofamerica.com。)

API documentation并表示JSON-P选项,但是。如果你有兴趣,你可以查看实现细节,但重要的是JSON-P技术能够绕过域名限制,因为Crunchbase的API将允许你。

URL http://api.crunchbase.com/v/1/company/google.js是一个类似的资源,你提到的,但这个特殊的URL允许你使用JSON-P,而你发布的不是。 jQuery允许你轻松地做到这一点:通过URL $.getJSON作为http://api.crunchbase.com/v/1/company/google.js?callback=?(关于回调的位是重要的!),jQuery将填充空白处理幕后加载的魔法脚本。这是很花哨:)

+0

很好的解释! – Aaron 2011-09-15 14:26:07