我用PHP创建了这个输出:
foreach ($bk as $blink) { $out"url“= $blink->url;$out”锚“=$blink->$out;} $json = Zend_Json::encode($out);回声($json);
我想通过一个$.ajax调用来接收和处理输出。
您能给我介绍一个关于使用javascript/jquery的多维数组的好教程吗?或者可以帮我循环一下json结果吗?我有点糊涂了。
<td>url-i</td><td>anchor-i</td>
。这部分我想出了办法。在url-i
和anchor-i
上放置正确的值是问题所在。发布于 2010-11-20 23:09:36
我可以想象,用于该操作的JSON输出将类似于:
{'url': ['url1', 'url2', ... ],
'anchor': ['anchor1', 'anchor2', ... ]}
如果是这样的话,那么它们将具有相同的长度(重要的是相同的索引),您可以使用jQuery.each()循环两种方法中的一种。
$.getJSON('jsonapp.php', function(data) {
$.each(data.url, function(index, url) {
var anchor = data.anchor[index];
$('#mytable').append('<tr><td>' + url + '</td><td>' + anchor +'</td></tr>');
});
});
我没有运行这段代码,所以它可能有一些缺陷,但这是它的要点。
发布于 2010-11-20 23:22:21
PHP可以自己尝试将对象转换为数组,对于简单的东西,它通常工作得很好。
至于多维数组,Javascript与大多数其他高级编程/脚本语言在数组方面并没有太大的不同。实际上,任何关于多维数组的在线教程都会做得很好。多维数组只是数组的数组。
当您接收到字符串客户端时,您只想解析它。jQuery有它自己的方法,但您可以使用JSON.parse。之后,根据如何设置数组,您可能希望这样做。
<? $count = count($json_parsed['url']); for($i = 1; $i < $count; $i++) : ?>
<td><?=$json_parsed['url'][$i];?></td>
<td><?=$json_parsed['anchor'][$i];?></td>
<? endfor; ?>
不过,这在哲学上可能不是最好的方法。如果您有大量的对象,并且想要用这些对象创建一个表,最好的方法是创建一个由关联数组表示的对象数组(类似于其他编程语言中的哈希表)。PHP本机尝试将对象转换为关联数组。如果Zend_Json::encode
自动这么做,我就不会感到惊讶了。如果是这样的话,您可能想简单地拉:
echo Zend_Json::encode($bk);
如果没有,请告诉我,我们会讨论如何做到这一点。
发布于 2010-11-20 23:12:48
您可以查看任何模板框架,但对于这种情况,检查这两种框架中的一种非常有用:纯贝贝或jquery纯html模板。
自己动手可能很有诱惑力,但为什么要重新发明这个好东西呢?我从我的经验中知道,框架比自己编写的代码快2倍左右。
https://stackoverflow.com/questions/4235436
复制相似问题