私はあなたの例を修正し、そのエンドポイントで試しました。それがあるとして、彼らは、データ化けが含まれているJSONを返すようだ "Unexpected end of data at line 1"
エラー
ここで変形例です:。http://codepen.io/anon/pen/KzxOGqおよび以下に概説:あなたは完全に別のエンドポイントとしようとした場合
function fahrenheitToCelsius() {
var celsiusTemp = Math.round((temperature - 32)/1.8);
}
function init() {
var key = "d7294f4361b9b4f604fc3bb61e7ae763"; // please no looky
var baseURL = "https://api.forecast.io/forecast/" // bass drop
var lat;
var lon;
var url;
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(location) {
lat = location.coords.latitude;
lon = location.coords.longitude;
url = baseURL + key + '/' + lat + "," + lon;
$.ajax({
url: url,
cors: true,
success: function(d) {
console.log("the api responded with the weather :)");
$(".desc").text("Here is the weather");
}
})
});
} else {
alert("Sorry, geolocation is not supported by this browser.")
}
}
init(); // batter up
、それは動作しますが、http://date.jsontest.com/
言う。
彼らのAPIが変更されたことをノートもあります。あなたはそれらのDOCSを見れば、あなたはこのURLをSCHEが必要になりますことを確認私はそれが機能するために:私が最初に言ったように、forecast.ioを送るように見える、
https://api.forecast.io/forecast/d7294f4361b9b4f604fc3bb61e7ae763/63.559508,10.209261
しかし:
https://api.forecast.io/forecast/APIKEY/LATITUDE,LONGITUDE
ので、例えばこの1つは、あなたのブラウザーで開く場合は動作しますxhr-requestsが終了したデータで終わるので、いくつかの問題があります。
また、元のコード例では、GEOはインスタンス化されないため、コンソールでエラーが発生します。私はlooking at the modified oneを提案します。
「機能していません」は専門用語ではありません。定義する。 – Rob
ああ、申し訳ありません。私は時々説明することを忘れる。とにかく、APIが適切に応答していないようです。私の小切手のどれも働いていません。 – Mortiferr
あなたは 'success'コールバックしか持っていないので、成功しないときは何もしません。また、AJAXが失敗したときに最初にチェックするのは、ブラウザの* Network *ペインです。 –