2010-12-02 91 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