从ajax检索php数组

从ajax检索php数组,php,javascript,ajax,Php,Javascript,Ajax,我试图检索由php创建的数组,并通过ajax发送回我的JS脚本 我不知道如何显示该值 服务器端php $r=array(); $r[] = 'aaa'; $r[] = 'bbb'; $r[] = 'ccc'; echo json_encode($r); 我的JS ....ajax codes.... var p=document.getElementById('text'); if (xmlhttp.readyState==4 && xmlhttp.status

我试图检索由php创建的数组,并通过ajax发送回我的JS脚本

我不知道如何显示该值

服务器端php

 $r=array();
 $r[] = 'aaa';
 $r[] = 'bbb';
 $r[] = 'ccc';


echo json_encode($r);
我的JS

....ajax codes....

var p=document.getElementById('text');

if (xmlhttp.readyState==4 && xmlhttp.status==200){

    var r=xmlhttp.responseText;

   for (var i=0; i<r.length; i++){
        p.innerHTML= r[i] + '<br>';
   }

我想使用javascript而不是$.ajax来完成这项工作。有什么想法吗??非常感谢。

您必须先解析json字符串,例如使用。尝试(未经测试):

if(xmlhttp.readyState==4&&xmlhttp.status==200){
var r=JSON.parse(xmlhttp.responseText);

对于(var i=0;i您必须先解析json字符串,例如使用.Try(未测试):

if(xmlhttp.readyState==4&&xmlhttp.status==200){
var r=JSON.parse(xmlhttp.responseText);

对于(var i=0;i而言,将数组从服务器传输到客户端的最简单方法是使用JSON。以下可用于在JSON中回送数组:

echo(json_encode($array));
有关更多信息,请参阅

然后在客户端,您可以使用以下函数解码JSON以生成相同的数组:

decodedjson = JSON.parse(ajax.response);
不要忘记在ajax调用中包装客户端代码


希望这会有所帮助!

将数组从服务器传输到客户端的最简单方法是使用JSON。可以使用以下方法在JSON中回显数组:

echo(json_encode($array));
有关更多信息,请参阅

然后在客户端,您可以使用以下函数解码JSON以生成相同的数组:

decodedjson = JSON.parse(ajax.response);
不要忘记在ajax调用中包装客户端代码


希望这有帮助!

如果没有ajax,您如何使用javascript从服务器获得结果?可能是我没有收到您的问题。我没有发布全部代码,但我确实将ajax发送到服务器,创建了我的php数组并发送回我的JS。我的问题是有奇怪的输出。您应该
JSON.parse()
您在
xmlhttp.responseText
中得到的响应,它不会像jQuery那样神奇地自行解码JSON。如果没有ajax,您如何使用javascript从服务器获得结果?可能是我没有理解您的问题。我没有发布全部代码,但我确实向服务器发送了ajax,创建了我的php数组并发送回了我的JS。我的pr问题是有奇怪的输出。您应该
JSON.parse()
您在
xmlhttp.responseText
中得到的响应,它不会像jQuery那样神奇地自行解码JSON。注意旧浏览器,特别是ie<8。注意旧浏览器,特别是ie<8。