我正在尝试创建一个简单的天气页面。我想从Weather Underground API检索用户位置的坐标以及随后的位置的天气信息。我能够看到我坐标的JSON响应。但是,我在使用AJAX函数解析JSON时遇到问题并在HTML上显示它。以下是我的代码
HTML:
<div class="container-fluid text-center">
<body>
<div id="forecast">
<h1>Weather at <span id="location"> </span></h1>
<div id="imgdiv">
<img id="img" src=""/>
</div>
<p>It is currently <span id="temp"> </span>°C with <span id="desc"> </span></p>
<p>Wind: <span id="wind"></span></p>
</body>
</div>
JQuery的;
var Geo={};
var temp_f
//var key = ‘4d6eb96f1aa092b2’;
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(success,error);
}
else {
alert('Geolocation is not supported');
}
function error() {
alert("That's weird! We couldn't find you!");
}
function success(position) {
Geo.lat = position.coords.latitude;
Geo.lng = position.coords.longitude;
Geo.url = "http://api.wunderground.com/api/4d6eb96f1aa092b2/forecast/geolookup/conditions/q/" + Geo.lat + "," + Geo.lng + ".json";
$.ajax({
url : Geo.url,
dataType : "json",
success : function(url) {
location = url['location']['city'];
temp_f = url['current_observation']['temp_f'];
$("#temp").html(temp_f);
}
});
}
我将location和temp_f值设为undefined
。我提到非常相似的帖子Weather Underground API with Ajax但还是无法弄清楚问题是什么?我是新来的,请原谅我是否遗漏了一些基本的东西。
答案 0 :(得分:1)
它适用于我检查:https://jsfiddle.net/jigarb1992/q1w8usq9/
我在您的代码中发现的问题可能在location = url['location']['city'];
,location
中的javascript
会将您重定向到指定位置。
尝试使用 jsfiddle