我正在尝试将天气更新为我的<span>
内容,如下所示:(我的所有值都正确,只是在我打开页面时不会更改值)
<div class="temperature">
<span>Washington, USA</span>
<span id=temp>Temperature</span>
</div>
<script type="text/javascript">
var uri = "http://api.worldweatheronline.com/free/v1/weather.ashx?q=washington&format=json&num_of_days=1&date=today&key=dfghjkiuytdfghjkj";
var temp = 0
$.get(uri, function(r,status) {
current_temp_C = r.data.current_condition[0].temp_C;
temp = r.data.current_condition[0].temp_C;
}, "jsonp")
$('#temp').text("hola " + temp)
</script>
我知道这可能不是我能做到的最好的方式,但任何想法?
答案 0 :(得分:1)
$('#temp').text("hola " + temp)
应该在get callback中
var uri = "http://api.worldweatheronline.com/free/v1/weather.ashx?q=washington&format=json&num_of_days=1&date=today&key=dfghjkiuytdfghjkj"
var temp = 0 ;
$.get(uri, function(r,status) {
current_temp_C = r.data.current_condition[0].temp_C;
temp = r.data.current_condition[0].temp_C;
$('#temp').text("hola " + temp)
}, "jsonp")
答案 1 :(得分:0)
由于它回复了XML,您可能需要先解析它。我不确定你需要的确切标签,但你可以试试这个。
var uri = "http://api.worldweatheronline.com/free/v1/weather.ashx?q=washington&format=json&num_of_days=1&date=today&key=dfghjkiuytdfghjkj"
$.get(uri, function(data) {
var xml = $.parseXML(data);
var tempc= xml.find("temp_C").text();
$('#temp').text("hola " + tempc);
});
检查浏览器中的网址,看看哪个标记提供了信息。然后简单地在xml.find(“标签”)的行上.text();应该给你结果。
答案 2 :(得分:0)
请检查以下代码我没有经过测试,但可能是因为你的问题已经用完了......
$.ajax({
type: "GET",
url: "http://api.worldweatheronline.com/free/v1/weather.ashx?q=washington&format=json&num_of_days=1&date=today&key=dfghjkiuytdfghjkj"
dataType: "jsonp",
success: function (data)
{
current_temp_C = r.data.current_condition[0].temp_C;
temp = r.data.current_condition[0].temp_C;
$('#temp').text("hola " + temp)
},
error: function (xhr, status, error) { console.log("An Error Occured " + error); }
});