数组的Javascript/AJAX JSON编码-收到数据时如何使用?

数组的Javascript/AJAX JSON编码-收到数据时如何使用?,javascript,php,arrays,json,ajax,Javascript,Php,Arrays,Json,Ajax,我想从服务器上的一个文件夹中获取所有图像,我使用ajax调用来实现这一点 files = glob('assets/img/daily/*'); // get all file names $imageArr; foreach ($files as $file) { $imageArr[] = $file; } //$imageJSON = ['img01' => $imgArr[0], 'img02' => $imgArr[1], 'img02' => $imgArr

我想从服务器上的一个文件夹中获取所有图像,我使用ajax调用来实现这一点

files = glob('assets/img/daily/*'); // get all file names
$imageArr;
foreach ($files as $file) {
    $imageArr[] = $file;
}
//$imageJSON = ['img01' => $imgArr[0], 'img02' => $imgArr[1], 'img02' => $imgArr[2]];
//$jsonObj = json_encode($imageArr);
$jsonObj = json_encode($imageArr);

echo $jsonObj;
我可以回显json编码,如下所示

["assets\/img\/daily\/163.jpg","assets\/img\/daily\/168.jpg","assets\/img\/daily\/197.jpg","assets\/img\/daily\/223.jpg","assets\/img\/daily\/232.jpg","assets\/img\/daily\/260.jpg","assets\/img\/daily\/297.jpg","assets\/img\/daily\/30.jpg","assets\/img\/daily\/310.jpg","assets\/img\/daily\/333.jpg","assets\/img\/daily\/339.jpg","assets\/img\/daily\/411.jpg","assets\/img\/daily\/421.jpeg","assets\/img\/daily\/427.jpg","assets\/img\/daily\/46.jpg","assets\/img\/daily\/52.jpg","assets\/img\/daily\/86.jpg","assets\/img\/daily\/background.jpg","assets\/img\/daily\/booby.png","assets\/img\/daily\/booty.png"]
assets/img/daily/30.jpg,assets/img/daily/46.jpg,assets/img/daily/background.jpg,assets/img/daily/booby.png,assets/img/daily/booty.png,assets/img/daily/chrome.png,assets/img/daily/default.png,assets/img/daily/defaults.png
更新

下面是我的Javascript/AJAX/HTML

<p id="raw"></p>
<br><br>
<p id="json"></p>
<script>
    var raw, json;
    raw = document.getElementById("raw");
    json = document.getElementById("json");
var http = new XMLHttpRequest();
            var url = "ajax.php";
            http.open("POST", url, true);
            http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
            http.onreadystatechange = function () {
                if (http.readyState === 4 && http.status === 200) {
//                    alert(this.responseText);
                    var jsonObj = JSON.parse(this.responseText);
                    raw.textContent = this.responseText;
                    json.textContent = jsonObj;
                }
            };
            http.send();
</script>
但我的问题是,如果我尝试从类似echo$jsonObj[0]的JSON obj获取数据,我会将其作为输出“[”接收

JSON是一个字符串。它被设计为通过HTTP传输、存储在文件中等。它不是被设计为在未首先解析的情况下进行处理。您需要将其转换为数组才能有效地使用它

…除非您不这样做,因为数据已在数组中可用;您使用它作为
json\u encode
的输入

只需使用
$imageArr
变量而不是
$jsonObj

但我的问题是,如果我尝试从类似echo$jsonObj[0]的JSON obj获取数据,我会将其作为输出“[”接收

JSON是一个字符串。它被设计为通过HTTP传输、存储在文件中等。它不是被设计为在未首先解析的情况下进行处理。您需要将其转换为数组才能有效地使用它

…除非您不这样做,因为数据已在数组中可用;您使用它作为
json\u encode
的输入


只需使用
$imageArr
变量,而不是
$jsonObj

试试var_dump($jsonObj)
$jsonObj
是一个字符串,对吗?因此
$jsonObj[0]
是该字符串的第一个字符,即
“[”
JavaScript在所有这些内容中的位置是什么?我已经更新了问题try var_dump($jsonObj)
$jsonObj
是字符串吗?因此
$jsonObj[0]
是该字符串的第一个字符,即
“[”
JavaScript在所有这些中的位置是什么?我已经更新了问题,我将实际为ajax回显json字符串call@Javaish-然后回显字符串,而不是试图在其上循环。@Javaish-您已将其更改为一个完全不同的问题。现在,它是我将实际回显ajax的json字符串的副本call@JAvailsh-然后回显字符串,而不是试图在其上循环。@Javaish-您已将其更改为一个完全不同的问题。现在它是