CrunchBase API 和 jQuery $.getJSON 的问题

发布于 2024-10-05 17:24:05 字数 389 浏览 3 评论 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"}   

I am trying to simply send an alert with a "name", but It doesn't seem to work. Advice?

$(document).ready(function() {
$.getJSON("http://api.crunchbase.com/v/1/companies/permalink?name=Google", function(data) {
   alert("Hello: " + data.name);
  });
 });

Here is what the JSON contains:

{"crunchbase_url": "http://www.crunchbase.com/company/google",
 "permalink": "google",
 "name": "Google"}   

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

千仐 2024-10-12 17:24:06

如果您不是 Crunchbase,则无法发送该请求。出于安全原因,只有 www.crunchbase.com 可以向 www.crunchbase.com 发送 AJAX 请求。 (想象一下我们正在谈论 www.bankofamerica.com 并且我已登录。如果任何网站都可以向 www.bankofamerica.com 发送任意请求,那将是一个问题> 附有我的 Cookie。)

API 文档 确实但是,指示 JSON-P 选项。如果你有兴趣,你可以查看实现细节,但重要的是 JSON-P 技术能够绕过域名限制,因为 Crunchbase 的 API 允许你这样做。

URL http://api.crunchbase.com/v/1/company/google.js 是与您提到的类似的资源,但这个特定的 URL 允许您使用 JSON-P,而你发布的那个则没有。 jQuery 允许您轻松完成此操作:将 URL 作为 http://api.crunchbase.com/v/1/company/google.js?callback=?< 传递给 $.getJSON /code> (有关回调的部分很重要!),jQuery 将填补空白并在幕后处理加载的神奇脚本。非常奇特:)

If you're not Crunchbase, you can't send that request. For security reasons, only www.crunchbase.com may send AJAX requests to www.crunchbase.com. (Imagine we were talking about www.bankofamerica.com and I were logged in. It'd be a problem if just any site could send arbitrary requests to www.bankofamerica.com with my cookies attached.)

The API documentation does indicate a JSON-P option, however. If you're interested, you can look up the implementation details, but the important bit is that the JSON-P technique is able to circumvent the domain name restriction because Crunchbase's API will allow you to.

The URL http://api.crunchbase.com/v/1/company/google.js is a similar resource to the one you mentioned, but this particular URL allows you to use JSON-P, whereas the one you posted does not. jQuery allows you to do this easily: pass the URL to $.getJSON as http://api.crunchbase.com/v/1/company/google.js?callback=? (the bit about the callback is important!), and jQuery will fill in the blanks and handle the magic script loading behind the scenes. It's very fancy :)

樱花落人离去 2024-10-12 17:24:06

通常您可以通过在 URL 中添加 &callback=? 来使用 JSONP,但是在这种情况下不支持 JSONP 回调,来自 crunchbase API 文档

列出实体

要检索 CrunchBase 上某个命名空间中所有实体的列表,请使用以下形式的 URL:

http://api.crunchbase.com/v/1/

复数可用的命名空间是:

  • 公司
  • 金融组织
  • 产品
  • 服务提供商

此操作不支持 JavaScript 回调。

底线是最重要的,您将看到这个: http://api.crunchbase.com /v/1/companies/permalink?name=Google&callback=callme 仍然会生成常规 JSON,而不是 JSONP。

Normally you'd use JSONP here by adding &callback=? to your URL, however a JSONP callback is not supported in this case, from the crunchbase API documentation:

List Entities

To retrieve a list of all of the entities in a certain namespace on CrunchBase, use a URL of the form:

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

The plural available namespaces are:

  • companies
  • people
  • financial-organizations
  • products
  • service-providers

This action does not support JavaScript callbacks.

The bottom line is the most important, you'll see that this: http://api.crunchbase.com/v/1/companies/permalink?name=Google&callback=callme still results in regular JSON, not JSONP.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文