ajax实战篇---天气或者其他股票连续变动----json交互

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
     <title>天气预报</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<meta http-equiv="Content-type" content="text/html;charset=utf-8" />
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
<script type="text/javascript">
<!--
	//abc()表示要调用函数,5000表示每隔3秒去调用abc();
	
	
	
	//第一步-------------------------------------------------------创建ajax引擎    
    function getXmlHttpObject(){    
         
        var xmlHttpRequest;    
        //不同的浏览器获取对象xmlhttprequest 对象方法不一样    
        if(window.ActiveXObject){    
                
            xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP");//这个是ie内核    
                
        }else{    
    
            xmlHttpRequest=new XMLHttpRequest();//非ie内核    
        }    
    
        return xmlHttpRequest;//将创建创建的ajax引擎实例化    
    
    }    
    
    var myXmlHttpRequest="";//设置全局变量 为了后面的chuli 函数需要取得属性    
  
  
    //第二步----------------------------------------------------------------------获取数据并发送服务器   
    function sendRequest(){  
	  
         myXmlHttpRequest=getXmlHttpObject();//从实例化的模型里面的方法函数     
  
        if(myXmlHttpRequest){  
            var url="doweather.php";//url 属性 选择提交的地址    
            var data="city[]=bj&city[]=sh&city[]=cd"//数据 id为sheng的数据取得数据    
            myXmlHttpRequest.open("post",url,true);//这里选择提交的方式post  异步操作  
            myXmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");//打开请求.    
    
            //指定为了第四步处理做准备回调函数.chuli是函数名    
			
		
			
            myXmlHttpRequest.onreadystatechange=function chuli(){
					
				if(myXmlHttpRequest.readyState==4){  
				
					if(myXmlHttpRequest.status==200){  
					
						var res_obj=eval("("+myXmlHttpRequest.responseText+")");
					
						$('bj').innerText=res_obj[0].price;
						$('sh').innerText=res_obj[1].price;
						$('cd').innerText=res_obj[2].price;
					
					}
	  
					
				}    
			}
			myXmlHttpRequest.send(data);    
				
            //第二部--------------------------发送数据到服务器端    
           
        }  
          
          
    }  
		
		

    function $(id){    
        return document.getElementById(id);    
    }   

window.setInterval("sendRequest()",1000);	
	
-->
</script>
  </head>
  
  <body>
    <center>
    <h1>每隔5秒中更新数据</h1>
    <table border="1">
    <tr><td>城市</td><td>温度</td></tr>
    <tr><td >北京</td><td id="bj">21℃</td></tr>
    <tr><td >上海</td><td id="sh">20℃</td></tr>
    <tr><td >成都</td><td id="cd">11℃</td></tr>
    </table>
   
    </center>
  </body>
</html>

<?php


	header("Content-Type: text/html;charset=utf-8");
	//告诉浏览器不要缓存数据
	header("Cache-Control: no-cache");
	//获取城市的名字
	
	$cities=$_POST['city'];
	$res='[';
	for($i=0;$i<count($cities);$i++){
		
		if($i==count($cities)-1){
		$res.='{"cityname":"'.$cities[$i].'","price":"'.rand(0,40).'℃"}]';
		}else{
		$res.='{"cityname":"'.$cities[$i].'","price":"'.rand(0,40).'℃"},';	
		}
	}

	echo $res;
	
?>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在页面中head引入stocks.js后 可以调用loadStock方法获得股票信息,只需要输入股票的代码就可以了,能自动区分股票代码类型。 自定义的回调函数中可以拿到存放股票信息的数组 演示文件:stocks.html 输入股票代码弹出股票当前价格 开发者须知: 数据来源于新浪接口 数组数据的含义如下: 0:”大秦铁路”,股票名字; 1:”27.55″,今日开盘价; 2:”27.25″,昨日收盘价; 3:”26.91″,当前价格; 4:”27.55″,今日最高价; 5:”26.20″,今日最低价; 6:”26.91″,竞买价,即“买一”报价; 7:”26.92″,竞卖价,即“卖一”报价; 8:”22114263″,成交的股票数,由于股票交易以一百股为基本单位,所以在使用时,通常把该值除以一百; 9:”589824680″,成交金额,单位为“元”,为了一目了然,通常以“万元”为成交金额的单位,所以通常把该值除以一万; 10:”4695″,“买一”申请4695股,即47手; 11:”26.91″,“买一”报价; 12:”57590″,“买二” 13:”26.90″,“买二” 14:”14700″,“买三” 15:”26.89″,“买三” 16:”14300″,“买四” 17:”26.88″,“买四” 18:”15100″,“买五” 19:”26.87″,“买五” 20:”3100″,“卖一”申报3100股,即31手; 21:”26.92″,“卖一”报价 (22, 23), (24, 25), (26,27), (28, 29)分别为“卖二”至“卖四的情况” 30:”2008-01-11″,日期; 31:”15:05:32″,时间;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孙中明

喝杯咖啡????

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值