我有一个脚本,它使用AJAX连接到PHP脚本,该脚本查询数据库并返回一些值。代码如下:
<script>
function showUser(str)
{
if (str=="")
{
document.getElementById("txtHint").innerHTML="";
return;
}
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("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajaxphp.php?ID="+str,true);
xmlhttp.send();
}
</script>
<select id="users" name="users" onchange="showUser(this.value)">
<option value="">Select a person:</option>
<!-- PHP populates this dropdown box -->
</select>
<div id="txtHint"><b>Selected user info will be listed here.</b></div>
现在txtHint div将返回ajaxphp.php脚本打印的任何内容。然而,这不是很灵活。我想要做的是在ajaxphp.php中创建一个数组,并使用json_encode()将结果传回。
我遇到的问题是我不知道如何让原始脚本获取结果,以便我可以用它们做有用的事情。现在我可以让它返回一个JSON数组,该数组将出现在txtHint div中,但我不知道如何让PHP实际读取该信息,以便我可以用它做点什么。
答案 0 :(得分:1)
使用$_GET
方法查看用户在php中发送的内容,请参阅此处:
答案 1 :(得分:1)
也许json_decode()php方法是您想要的解决方案。
http://www.php.net/manual/en/function.json-decode.php
此方法采用JSON编码的字符串(例如来自json_encode方法)并将其转换为PHP变量...因此您可以像对象一样使用此变量,只需访问其属性。
也许这篇文章可以帮助您:How to decode a JSON String with several objects in PHP?
希望这有帮助!再见!
答案 2 :(得分:1)
尝试使用jQuery Ajax ...
$.ajax({
url : 'ajaxphp.php?ID='+str,
type: 'get',
dataType:'json',
success : function(data) {
console.log(data);
}
});
数据成功函数参数是您从php返回的编码结果。
echo json_encode($result);
然后您可以使用javascript中的类似内容访问它。
data.result1
data.result2
data.result3....