php返回的json数据,让页面的javascript怎么获得

php返回的json数据,让页面的javascript如何获得?
本帖最后由 gunzi318 于 2014-06-30 19:54:47 编辑
采用AJAX 的onreadystatechange 事件中,读取的数据,总是更新的是页面的显示,我希望 返回的数据能够再被页面的javascript代码获得,进一步的处理的,如对百度地图进行操作。请问如何实现?

请高手帮帮忙

function GetJson(phpname,datatophp) //传入 php的url 和要传给php的数据。
{
var xmlHttp;
var obj;
try 
{

// Firefox, Opera 8.0+, Safari <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
xmlHttp = new XMLHttpRequest();
}
catch (e) 
{
// Internet Explorer
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) 
{
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
alert("您的浏览器不支持AJAX!");
return false;
}
}
}

xmlHttp.onreadystatechange = function() 

if (xmlHttp.readyState == 4 && xmlHttp.status== 200) 
{
   var str = xmlHttp.responseText;
   document.getElementById('show').innerHTML +=str;
   obj = eval('('+ str+')');
//alert(obj.name);
//return obj.name;//这里也不能return,不知道为何。难道是因为是回调函数?


}
}
var data = 'id='+datatophp;
xmlHttp.open("POST", phpname, true);
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
xmlHttp.send(data);

}


希望在
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="functionxmlhttp.js"></script>
<script type="text/javascript" >
      GetJson('testJson.php',456);//可以直接调用。不用
    // 希望在这里获得 返回的数据,可是不知道如何实现。
</script>

<title>获取地区轮廓线</title>
</head>
<body>
<input type="button" onclick="GetJson('testJson.php',456)" value="按我!"/>
<hr />
<div id="show"></div>
</body>
</html>
------解决方案--------------------
异步执行,没等返回下面的代码都已经执行了,你应该
xmlHttp.open("POST", phpname, false);

或者在xmlHttp.onreadystatechange里面处理你的返回值