1

我有一个使用 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 实际读取该信息,以便我可以用它做点什么。

4

3 回答 3

1

也许 json_decode() php 方法是您想要的解决方案。

http://www.php.net/manual/en/function.json-decode.php

此方法采用 JSON 编码字符串(例如来自 json_encode 方法)并将其转换为 PHP 变量……因此您可以像使用对象一样使用此变量并简单地访问其属性。

也许这篇其他文章会帮助您:如何在 PHP 中使用多个对象解码 JSON 字符串?

希望这可以帮助 !再见 !

于 2013-04-22T08:31:12.650 回答
1

尝试使用 jQuery Ajax ...

    $.ajax({
        url : 'ajaxphp.php?ID='+str,                          
        type: 'get',                   
        dataType:'json',                   
    success : function(data) {  
        console.log(data);
    }
   });

成功函数参数中的数据是您从 php.ini 返回的编码结果。

echo json_encode($result); 

然后你可以从 javascript 使用类似的东西访问它。

data.result1
data.result2
data.result3....
于 2013-04-22T08:44:30.390 回答
1

使用$_GET方法查看用户在 php 中发送给您的内容,请参见此处:

http://php.net/manual/en/reserved.variables.request.php

于 2013-04-22T08:26:59.490 回答