重新加载div以重新加载XML

时间:2012-08-08 01:58:31

标签: php javascript ajax timer

div #weather 中,我有一些PHP正在调用Google的天气XML。它很好用,除了它变得陈旧。我想每600000毫秒重新加载div以获得新的XML。

我走的是一个javascript计时器的路径,但这似乎需要一个外部URL。

如果我需要在外部文件中使用PHP,这没什么大不了的,只是不理想。

<div id="weather">
<?php
    $URL = "http://www.google.com/ig/api?weather=60618";
    $dataInISO = file_get_contents($URL);
    $dataInUTF = mb_convert_encoding($dataInISO, "UTF-8", "ISO-8859-2");
    $xml = simplexml_load_string($dataInUTF);
    $current = $xml->xpath("/xml_api_reply/weather/current_conditions");
?>
    <div class="weather-<?php $weather =  $current[0]->condition['data']; $weatherclass = str_replace(' ','-',$weather); $weatherclass = strtolower($weatherclass); echo $weatherclass; ?>">&nbsp;</div>
    <div id="temp"><?= $current[0]->temp_f['data'] ?>&deg;</div>
    <div id="condition"><?= $current[0]->condition['data'] ?></div>
</div>

1 个答案:

答案 0 :(得分:0)

如果您想保留单个文件,可以使用ajax自行调用,然后只需抓取<div id="weather">内的html来替换当前的div。

$.get('your current page.php', function(data){
   var a = $(data);
   var weather = $(a).find('#weather').html();
   $('#weather').html(weather);
});