当前位置: 首页 > 图文教程 > 网络编程 > AJAX技术 > AJAX天气预报前台

AJAX技术
AJAX 用户注册时的应用实例
ajax readyState的五种状态详解
php AJAX POST的使用实例代码
Ajax 用户名验证是否存在
Ajax+PHP简单基础入门实例教程
AJAX 异步传输数据的问题
ASP AJAX 静态分页
js装载xml文件然后发向服务器的实现代码
完成了AJAX树附原理分析
AJAX 支持搜索引擎问题分析
ajax Suggest类似google的搜索提示效果
Ajax 框架学习笔记
用ajax xml的数据读取的HelloWorld程序
Ajax 表单验证 实现代码
Ajax request response 乱码解决方法
AJAX 随记
ajax 乱码的一种解决方法
ajax session过期问题的几个解决方案
四步学会 Ajax
Ajax异步(请求)提交类 支持跨域

AJAX技术 中的 AJAX天气预报前台


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 45 ::
收藏到网摘: n/a

直接配合前面的后台程序,就可以实现跨域抓取天气信息了.
目前已完美支持firefox了
复制代码 代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script language="JavaScript" type="text/javascript">
function $() {
return document.getElementById(arguments[0])
}
function btnSty(objId,objStyle)
{
$(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+"请重新选择";
}
}
}
</script>
<style type="text/css">
<!--
body {
margin: 0px;
padding: 0px;
font-size: 9pt;
}
-->
</style>
</head>
<body onload="loadurl('CHXX0138')">
<div>
<select onchange="loadurl(this.value)">
<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>
<span id="loadifo"></span></div>
<div id="prolist"></div>
</body>
</html>