0

World Weather Onlineというサービスから気温を取得しています

次のようにコンテンツに天気を更新しようとしてい<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>

これはおそらく私ができる最善の方法ではないことはわかっていますが、何かアイデアはありますか?

4

3 に答える 3

1

$('#temp').text("hola " + temp)get コールバック内にある必要があります

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")                                                                                                                                       
于 2013-05-02T16:43:46.613 に答える
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);
});

ブラウザで URL を確認し、情報を提供するタグを確認します。次に、単純に xml.find("the tag").text(); の行で 結果が得られるはずです。

于 2013-05-02T16:50:02.290 に答える