ajax实战篇---天气或者其他股票连续变动----json交互
【摘要】
<!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)