关于AJAX,JSON,和PHP的问题

我想用AJAX技术进行一个天气预报的数据获取,并且显示在我写的界面当中。<html><head><scripttype="text/javascript">functio... 我想用AJAX技术进行一个天气预报的数据获取,并且显示在我写的界面当中。
<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("wea").innerHTML=xmlhttp.responseText;
}
}
var location
xmlhttp.open("GET","http://api.map.baidu.com/telematics/v3/weather?

location=XX&output=json&ak=hXWAgbsCC9UTkBO5V5Qg1WZ9",true);
xmlhttp.send();
}
</script>
</head>
<body>

<h2>AJAX</h2>
<button type="button" onclick="loadXMLDoc()">请求数据</button>
<br>气温:<div id=wea>N/A</div>
<div id="myDiv"></div>

</body>
</html>

当请求数据完后,出现的这些JSON数据怎么通过PHP技术给他一个个挑出来,当用户输入比如北京的时候,能自动显示出相应的对象?
open函数里的url 的location=laoshan,不是XX
展开
 我来答
CrisenChou
2015-12-08 · TA获得超过234个赞
知道小有建树答主
回答量:138
采纳率:0%
帮助的人:119万
展开全部
你想问的是怎么用js取到php页面传递过来的json数据是么?
这个问题其实很简单,json只是一种数据格式,在PHP中可以理解为一个字符串,在js中可以把它理解为对象,比如说有个json字符串在PHP中是这样写的 $json = {"a":"1","b":"2"};
你在js中可以这样写
var object = <?php echo $json;?>;
这样就把PHP的json字符串变成了js中的对象了
还有一点就是获取数据的时候,一般都有回调函数,在回调函数中的参数,一般都对应着你请求之后获取的参数,例如$.get()函数,
$.get("url","data",function(status,data){
concole.log(data);
//这里的data就是你请求之后返回的数据

})
追问
大概懂了一点了!用open函数取到的那个url,请求回来的JSON特别乱,想通过PHP解析并在后台删除不必要显示的信息,在页面就传递出来那个该显示JSON的数据。比如,{"title":"紫外线强度","zs":"中等","tipt":"紫外线强度指数","des":"属中等强度紫外线辐射天气,到最后这些东西都不会显示到界面上,而是我在界面 写的紫外线指数:  XX=中等
追答
PHP可以解析json字符串,用json_decode函数
$data = json_decode($json,true); //这里第二个参数true如果去掉或者改成false 解析出来的将会是一个数组
利用这个解析之后,你得到的就是一个数组,然后你只要遍历数组,把你想要的数据拿出来,赋给一个新的数组就可以了,然后又可以把这个数组用json_encode函数重新变成json数据传回给浏览器就行
如果你仅仅是想在浏览器显示的话,你大概可以这么写
$json = "你的到的json字符串";
$weather_arr = json_decode($json,true);
foreach($weather as $key=>$value)
{
//都已经变成数组了,操作起来就很方便了,你想怎么弄都可以
if($key == "zs")
{
echo $val;

}

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式