数组的Javascript/AJAX JSON编码-收到数据时如何使用?
我想从服务器上的一个文件夹中获取所有图像,我使用ajax调用来实现这一点数组的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
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-您已将其更改为一个完全不同的问题。现在它是