2013-10-22 60 views
0

我在這個晚上做了很多工作。d3.json問題

我想使用d3.json將此實時json數據http://citibikenyc.com/stations/json加載到我網站上的頁面上。

只是測試:

var bike = "http://citibikenyc.com/stations/json"; 

d3.json(bike, function(error, json) { 
console.log(json); 
});  

不起作用。我得到錯誤

XMLHttpRequest cannot load http://citibikenyc.com/stations/json. Origin http://hochemoche.com is not allowed by Access-Control-Allow-Origin. 

有什麼,我失蹤了嗎?是否可能會有一些限制來自我提交請求的頁面?任何幫助,將不勝感激。我不相信來自citibike的網站有任何限制,因爲這個相同的請求像我的終端上的curl一樣,也有其他人使用這些數據,但似乎無法弄清楚他們如何根據他們的代碼加載它。

例如:http://jehiah.cz/citibikenyc

回答

0

@Blaklaybul

  1. 存取控制允許來源參數必須由JSON源,在這種情況下它是「http://citibikenyc.com/stations/json」進行設置。
  2. 嘗試在您正在製作的ajax請求的標題中包含CORS參數。請參閱http://techblog.constantcontact.com/software-development/using-cors-for-cross-domain-ajax-requests/
  3. 您可以嘗試其他選擇,如jsonp等,其中的信息可在上面的鏈接中找到。
+0

感謝您的幫助,我有一個朋友成功地使用PHP的請求...我對這個東西相當新,並希望得到它的工作! 你可以嘗試從本網站使用d3.json獲取? http://citibikenyc.com/stations/json – blaklaybul

+0

一切似乎基於http://jsonlint.com/,但我不能讓我的代碼工作 – blaklaybul

0

如果您使用Chrome瀏覽器,你也可以使用一個擴展即 「允許-控制允許來源:*」。安裝並啓動後,我相信它會起作用。

希望一切都會好的!