Javascript Ajax请求失败
我正在尝试对提供天气数据的api执行AJAX请求,由于某些原因,请求一直失败。我尝试使用.fail()回调来获取错误消息;函数被调用,但它只给我空字符串来处理 这是我正在使用的代码Javascript Ajax请求失败,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在尝试对提供天气数据的api执行AJAX请求,由于某些原因,请求一直失败。我尝试使用.fail()回调来获取错误消息;函数被调用,但它只给我空字符串来处理 这是我正在使用的代码 navigator.geolocation.getCurrentPosition(function(position){ long = position.coords.longitude; lat = position.coords.latitude; console.log(long); console.log(
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)});
});
我在控制台上得到的url完全符合api的标准,从一开始就一直到“http”。我已经确定经度和纬度也被正确提取了。如果您有任何见解,我们将不胜感激。效果良好,请查看此示例。我将更改我的api,所以请确保在我更改它之前检查它 尝试粘贴
console.log(url)的结果编码>到浏览器并检查是否获得所需的输出。因为我认为您的API中存在问题
函数func(){
lat=37;
lon=53;
apikey=“您的API”;
url=”http://api.openweathermap.org/data/2.5/weather?lat=“+encodeURIComponent(lat)+”&lon=“+encodeURIComponent(lon)+”&APPID=“+encodeURIComponent(apikey);
console.log(url);
$.getJSON(url、函数(响应){
控制台日志(“成功”);
控制台日志(响应);
}).fail(函数(obj、stat、err){console.log(err)});
}
func()代码>
忽略任何未初始化的或看似全局的变量,在代码运行之前,它们都会在不同的段中进行排序。令人惊讶的是,您的代码段工作正常,而我的代码段仍然拒绝。您是否检查了您的APIs或在浏览器上尝试了您的url?这似乎是codepen内部的问题。谢谢你的帮助:)。