2016-01-16 103 views
-1

我想用Apache Cordova和JavaScript構建一個非常小的服務,通常我試圖避免JS並使用現成的解決方案,但是這個問題很獨特。getJSON沒有反應

我的應用程序是非常簡單的,它會檢查當前座標(我使用的地理位置API,效果非常好),它使用uk-postcodes.com API查找座標並尋找與之配套的郵政代碼和我的應用程序應該顯示它。出於某種原因,我無法查詢英國郵政編碼。我目前的代碼如下所示:

var url = "http://uk-postcodes.com/latlng/" + position.coords.latitude + "," + position.coords.longitude + ".json?callback=json"; 

$.getJSON(url, function (json) { 
    console.log(json.postcode); 
}); 

我能夠顯示可變的URL,它工作正常,所以這不是我的問題的來源。它看起來像(例如)http://uk-postcodes.com/latlng/51.5000,0.1167.json,它工作正常。

我的問題坐在裏面.getJSON代碼,但我沒有足夠的經驗解決,我沒有在控制檯中得到任何錯誤。

+5

是什麼在控制檯說?你確定交叉源請求被允許嗎? –

+0

爲什麼你在URL中添加'callback = json'? – Quentin

+0

你應該總是在你的'getJSON'中添加一個'.fail(function(){/ *你的錯誤處理* /})',否則當出現問題時你不會得到這個信息。 –

回答

0

由於您正在向不同的未啓用CORS的服務器頁面運行請求,因此會出現此錯誤。您需要使用CORS代理 - 例如,https://crossorigin.me

只需添加https://crossorigin.me/你的URL,然後,你會好起來:

url = 'https://crossorigin.me/' + url;