[英]php json array data in javascript
我是PHP新手,有以下情况: 在PHP方面,我有一个文件get_folders.php
<?php
$arr = array();
foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator('/var z/www/scripts')) as $filename)
{
array_push($arr,$filename);
}
print (json_encode($arr));
?>
在HTML方面,我有
<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
function myFunction()
{
$.getJSON("get_folders.php", function(data){
alert("Data Loaded: " + data);
$('#thetable');
var html = '';
for(var i = 0; i < 10 ; i++)
html += '<tr><td>' + data;
$('#thetable').append(html);
});
}
</script>
</head>
<button onclick="myFunction()">Try it</button>
<div>
<table id="thetable">
<th>Header 1</th>
</tr>
<tr>
<td></td>
</tr>
</table>
</div>
.......我可以在php端打印数组,这一切都很好。 但是我唯一要警惕的是
加载的数据:[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象]
首先,JavaScript alert()
函数非常基础。 它只能处理字符串输入。 如果给它一个对象或数组,它将阻塞。 您正在为它提供对象,因此它将以最佳方式向您显示该事实。
如果您真的想查看data
变量包含的内容,建议您使用浏览器的调试工具,而不要使用alert()
。 所有现代浏览器都具有console.log()
函数,该函数将调试数据输出到调试控制台,而不是警报框。 这将为您提供更多有用的信息。 按F12键可在任何浏览器中打开调试面板。
但是我的猜测是您不打算输出大量SPLFileInfo
对象。 看来您可能打算发送文件名数组。
您用于循环的迭代器会生成一个SPLFileInfo
对象,而不仅仅是文件名。
要仅获取文件名,可以使用getFilename()
方法,如下所示:
foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator('/var/www/scripts')) as $fileinfo)
{
array_push($arr,$fileinfo->getFilename());
}
现在,这将生成一个文件名数组,我想这就是您想要的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.