我试图向提供天气数据的api做一个AJAX请求,由于某种原因,请求仍然失败。我尝试使用.fail()回调来获取错误消息;该函数被调用,但它只给我空字符串。
这是我使用
的代码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)});
});
我登录控制台的网址完全符合api的标准,直到#http;#http;在一开始的时候。我确保经度和纬度也得到了适当的提升。任何见解都会非常感激。
答案 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>
&#13;