2014-02-11 33 views
0

嗨我正在測試休息API調用http://airportcode.riobard.com,允許我查找機場代碼。當我在下面的到我的瀏覽器中鍵入:瀏覽器Api調用的作品,但阿賈克斯沒有

http://airportcode.riobard.com/search?q=las%20vegas&fmt=JSON

我得到正確的JSON。然而,當我做一個json jQuery調用:

var url = 'http://airportcode.riobard.com/search?q=las vegas&fmt=JSON'; 

// Request json 
jQuery.getJSON(url, function(data){ 
    console.log(data); 
}); 

我得到一個200這是好的,但響應對象是空的。爲什麼這發生在我身上?

謝謝。

+0

它不是。首先,我不知道這個問題是一個跨域問題。這個問題指出了一些描述跨域問題的非同義行爲,另一個問題是從一個跨域問題開始處理jsonp,這意味着這是一個不同的問題。另一件與我的問題有所不同的是,我的api不提供jsonp功能,而其他問題則提出了問題。不同的問題。 –

回答

1

所以,交易是,我無法訪問JSON,因爲它不是來自我的JavaScript的其餘部分相同的起源。這是一個跨站腳本的好例子,我忘了它。

0

檢查控制檯,它可以顯示

產地_ __ _ __ _ __ _ _不受訪問控制允許來源允許的。

這意味着您需要在服務器中添加一些標題到您的響應中。 特別是Access-Control-Allow-Origin到「*」 或者您可以嘗試使用JSONP請求。與$.JSONP

+0

那不在請求標題中。由於我從本地運行腳本,所以原點爲空。不幸的是,我想我只能寫PHP rest api來充當這個問題的信使。 –