中国天气网的json格式天气信息,怎么通过网页显示出来?html或者php都行
数据地址是http://www.weather.com.cn/data/sk/101180101.html,怎么读取这个数据,然后按照自己的版面进行排版,输出到网页上?谁...
数据地址是http://www.weather.com.cn/data/sk/101180101.html,怎么读取这个数据,然后按照自己的版面进行排版,输出到网页上? 谁会的麻烦给个实例.可以再加分的.
{"weatherinfo":{"city":"郑州","cityid":"101180101","temp":"6","WD":"东南风","WS":"2级","SD":"30%","WSE":"2","time":"10:00","isRadar":"1","Radar":"JC_RADAR_AZ9371_JB"}} 展开
{"weatherinfo":{"city":"郑州","cityid":"101180101","temp":"6","WD":"东南风","WS":"2级","SD":"30%","WSE":"2","time":"10:00","isRadar":"1","Radar":"JC_RADAR_AZ9371_JB"}} 展开
2个回答
2012-03-12
展开全部
由于大多浏览器默认禁止javascript跨域访问,你先载入信息到你的php脚本,然后用ajax跟你的php交互,有点蛮烦不过也是一种方法。
index.php文件代码
<?php
$url="http://www.weather.com.cn/data/sk/101180101.html";
$content = file_get_contents($url);
echo $content;
?>
ajax.html代码
<html>
<head>
<script type="text/javascript">
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
var func = new Function("return " + xmlhttp.responseText);
var jason = func();
alert(jason.weatherinfo.city);
}
}
var url = "index.php";
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}
</script>
</head>
<body>
<h2>AJAX</h2>
<button type="button" onClick="loadXMLDoc()">ok</button>
<div id="myDiv"></div>
</body>
</html>
index.php文件代码
<?php
$url="http://www.weather.com.cn/data/sk/101180101.html";
$content = file_get_contents($url);
echo $content;
?>
ajax.html代码
<html>
<head>
<script type="text/javascript">
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
var func = new Function("return " + xmlhttp.responseText);
var jason = func();
alert(jason.weatherinfo.city);
}
}
var url = "index.php";
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}
</script>
</head>
<body>
<h2>AJAX</h2>
<button type="button" onClick="loadXMLDoc()">ok</button>
<div id="myDiv"></div>
</body>
</html>
更多追问追答
追问
谢谢你的回答.麻烦点没关系.但是你的html里body之间没有写怎么读取city、temp这样的数据的语句。我不知道这样的格式是怎么写的,所以需要几句例子。麻烦你给加几句吧。谢谢了.我们是用在自己的机器上来显示天气用的.不是放在公开的网页上.所以网上现有的样式不是合我们,需要自己排个样式出来.
追答
alert(jason.weatherinfo.city);这一句就是调用了你说的json数据啊,我教会你走路你要自己学会跑啊!
2012-05-15
展开全部
jsonp就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询