2017-01-14 21 views
0

気象データを提供するAPIにAJAXリクエストを実行しようとしていますが、何らかの理由でリクエストが失敗し続けています。エラーメッセージを取得するために.fail()コールバックを使用しようとしました。この関数は呼び出されますが、空の文字列でしか動作しません。Ajaxリクエストが失敗しました

これは私がコンソールに乗るURLが正しい初めに「HTTP」に至るまで、APIの標準に完全に準拠し

navigator.geolocation.getCurrentPosition(function(position){ 

long = position.coords.longitude; 
lat = position.coords.latitude; 
console.log(long); 
console.log(lat); 

url = "http://api.openweathermap.org/data/2.5/weather?lat=" + encodeURIComponent(lat) + "&lon=" + encodeURIComponent(long) + "&APPID=" + encodeURIComponent(apikey); 

console.log(url); 

$.getJSON(url, function(response){ 
console.log("Success"); 
console.log(response); 
}).fail(function(obj, stat, err){ console.log(err)}); 

}); 

を使用しているコードです。私は、経度と緯度も適切に取得されていることを確認しました。どんな洞察も高く評価されるだろう。

+0

であると思いますので、このコードが実行される前に、彼らはすべての異なるセグメントに整理しています。 –

答えて

0

細かい動作この例を確認してください。私は私のAPIを変更するので、私はそれを変更する前にそれを確認することを確認します。

console.log(url);の結果をブラウザに貼り付けて、目的の出力が得られるかどうかを確認してください。私は、問題が初期化されていないか、一見グローバル変数を無視し、あなたのAPI

function func(){ 
 

 
lat = 37; 
 
lon = 53; 
 
apikey = "YOUR API"; 
 

 
url = "http://api.openweathermap.org/data/2.5/weather?lat=" + encodeURIComponent(lat) + "&lon=" + encodeURIComponent(lon) + "&APPID=" + encodeURIComponent(apikey); 
 

 
console.log(url); 
 

 
$.getJSON(url, function(response){ 
 
console.log("Success"); 
 
console.log(response); 
 
}).fail(function(obj, stat, err){ console.log(err)}); 
 
    
 
} 
 

 
func();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

驚いたことに、あなたのスニペットはまだ鉱山が拒否している間に動作します。 –

+0

あなたはapi – codenut

+0

をチェックしているか、ブラウザのURLを試してください – codenut

関連する問題