| 首页 >> 网络编程 >> ASP >> ASP文摘 >> 新闻正文 | [字体:大 中 小] [打印文档] |
| |
|
信息源来自美国雅虎,所以时间显示的是美国时间,但是天气情况还是实时的. index.html <script type="text/javascript" language="javascript" src="http://www.z173.com/demo/ajax_weather/weather.js"></script> <A HREF="http://www.z173.com"> <img src="/UserFiles/2005-12/28/2005122845948850.gif" BORDER="0"> </A> <br /> 文章地址:用AJAX技术来实现天气预报功能 <A HREF=http://www.z173.com/article.asp?articleid=265>http://www.z173.com/article.asp?articleid=265</A> <h3>天气预报 <span id="loadifo"></span> </h3> <h5>城市: <select onChange="loadurl(this.value)" class="select"> <option value="CHXX0138" selected="selected">武汉</option> <option value="CHXX0097">南昌</option> <option value="CHXX0502">海口</option> <option value="CHXX0008">北京</option> <option value="CHXX0116">上海</option> <option value="CHXX0037">广州</option> <option value="CHXX0259">银川</option> <option value="CHXX0165">郑州</option> <option value="CHXX0013">长沙</option> <option value="CHXX0390">杭州</option> <option value="CHXX0049">香港</option> <option value="CHXX0146">西安</option> <option value="CHXX0016">成都</option> <option value="CHXX0110">青岛</option> <option value="CHXX0039">贵阳</option> <option value="CHXX0064">济南</option> <option value="CHXX0448">合肥</option> <option value="CHXX0031">福州</option> <option value="CHXX0099">南京</option> <option value="ITXX0042">米兰</option> </select> </h5> <div id="prolist"></div> weather.js // JavaScript Document function btnSty(objId,objStyle) { document.getElementById(objId).style.display = objStyle } //提示窗口控制 function ifodis(){ btnSty(’loadifo’,’none’); } function settime(a){ setTimeout(a,1000); } function loadtime(){ loadifo.innerHTML += "." } //XML数据绑定 var xmldoc = false; function loadurl(n){ //生成随机数,同时限制刷新次数 var now=new Date(); var Num=now.valueOf(); //定义往址参数 url = "weather.asp?n="+n+"&id="+Num; //定义为异步传输模式 xmldoc = false; //Mozill,Safari等浏览器时需要创建的XMLHttp类 if(window.XMLHttpRequest){ xmldoc = new XMLHttpRequest(); if(xmldoc.overrideMimeType){ xmldoc.overrideMimeType(’text/xml’); } } //IE浏览器时创建的XMLHttp类 else if(window.ActiveXObject){ try{ xmldoc = new ActiveXObject("Msxml3.XMLHTTP"); } catch(e){ try{ xmldoc = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e){ try{ xmldoc = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e){} } } } //不能创建XMLHTTP类时返回 if(! xmldoc){ return false; } //调用CheckState函数 xmldoc.onreadystatechange = CheckState; xmldoc.open(’GET’,url,true); xmldoc.send(null); } //状态检测 function CheckState(){ btnSty(’loadifo’,’’) //收到完整的服务器响应 if(xmldoc.readyState == 1){ loadifo.innerHTML = "连接服务器" } else if(xmldoc.readyState == 2){ loadifo.innerHTML = "开始加载数据" } else if(xmldoc.readyState == 3){ loadifo.innerHTML = "正在加载数据" settime(loadtime) } else if(xmldoc.readyState == 4){ //HTTP服务器响应值成功 if(xmldoc.status == 200){ //将服务器返回的字符串写到页面中ID为showdiv的区域 loadifo.innerHTML = "加载完成" var response = xmldoc.responseText; settime(ifodis) prolist.innerHTML = response; } else{ loadifo.innerHTML = "错误"+xmldoc.statusText+"请重新选择"; } } } if (top.location != self.location)top.location=self.loca |
