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

举报
孙中明 发表于 2022/01/22 23:42:54 2022/01/22
1.7k+ 0 0
【摘要】 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>天气预报</title> <meta http-equiv="pragma" con...

 

       <!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;
        ?>
    
   


 


文章来源: hiszm.blog.csdn.net,作者:孙中明,版权归原作者所有,如需转载,请联系作者。

原文链接:hiszm.blog.csdn.net/article/details/72811095

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。