通过迭代php返回的json对象(echo),将数据附加到网页
我正在使用cakephp开发一个动态附加从服务器检索到的数据的网页。附加的数据可以在jquery手风琴(未显示)中打开 我尝试了一些在其他主题中看到的建议,但仍然没有在网页上显示任何内容 javascript是这样的:通过迭代php返回的json对象(echo),将数据附加到网页,php,jquery,json,cakephp,Php,Jquery,Json,Cakephp,我正在使用cakephp开发一个动态附加从服务器检索到的数据的网页。附加的数据可以在jquery手风琴(未显示)中打开 我尝试了一些在其他主题中看到的建议,但仍然没有在网页上显示任何内容 javascript是这样的: <script type="text/javascript"> $.getJSON('viewmjcatjson.ctp', function(data){ var content = '<div id="majorcat">\n'; $.ea
<script type="text/javascript">
$.getJSON('viewmjcatjson.ctp', function(data){
var content = '<div id="majorcat">\n';
$.each(data, function(index,cat){
content += '<h2><a href="#">' + cat.category + '</a></h2><div>\n';
content += cat.description + '</div>\n';
});
$("#majorcat").append(content);
});
</script>
<?php
Configure::write('debug', 0);
echo json_encode($majorCategories);
?>
我怀疑每个循环中都有问题,但我不确定
编辑
包含javascript的整个php文件
<?php echo $html->script('jquery-1.5.1.min.js'); ?>
<?php echo $html->script('jquery-ui-1.8.13.custom.min.js'); ?>
<?php echo $html->css('ui-lightness/jquery-ui-1.8.13.custom.css'); ?>
<script type="text/javascript" src="development-bundle/jquery-1.3.2.js"></script>
<script type="text/javascript" src="development-bundle/ui/ui.core.js"></script>
<script type="text/javascript" src="development-bundle/ui/ui.accordion.js"></script>
<div class="users form">
<h1><?php echo $article['Article']['title']?></h1>
<p><small>Author: <?php echo $article['Article']['author_all']?></small></p>
<p><?php echo $article['Article']['full_text']?></p>
<br>
<hr>
<br>
<table>
<tr>
<td width="60%">
<div id="majorcat">
</div>
</td>
<td width="40%">
<div id="minorcat">
</div>
</td>
</tr>
</table>
</div>
<div class="actions">
<h3><?php __('Menu'); ?></h3>
<ul>
<li><?php echo $this->Html->link(__('Logout', true),
array('controller' => 'users', 'action' => 'logout'));?></li>
</ul>
</div>
<script type="text/javascript">
$(function(){
$.getJSON('viewmjcatjson.ctp', function(data){
var content = '<div id="majorcat">\n';
$.each(data, function(index,cat){
content += '<h2><a href="#">' + cat.category + '</a></h2><div>\n';
content += cat.description + '</div>\n';
});
$("#majorcat").append(content);
});
})
</script>
作者:
$(函数(){
$.getJSON('viewmjcatjson.ctp',函数(数据){
变量内容='\n';
$。每个(数据、功能(索引、目录){
内容+='\n';
content+=cat.description+'\n';
});
$(“majorcat”)。追加(内容);
});
})
$(函数(){
$.getJSON('viewmjcatjson.ctp',函数(数据){
var内容=“”;
$。每个(数据、功能(索引、目录){
内容+='';
内容+=主要类别描述+“”;
});
$(“majorcat”)。追加(内容);
});
})
您缺少文档。ready我注意到Firebug控制台显示“viewmjcatjson”不是用json编码的数据而是用HTML文件响应。内容实际上与PHP文件完全相同 所以我推断这可能是一个路由问题。 正在更改为
$.getJSON('../viewmjcatjson', function(data){
…解决了问题
感谢Interstarr_Coder提供的固定代码。我将这段代码放在php页面的末尾,这样行吗?(到目前为止它仍然不起作用。)我相信你指的是完整的php文件?如果是这样的话,我在第一篇博文中就把它包括进去了。我刚刚仔细看了一下你的json数组的结构,你需要做cat.MajorCategories.category。如果我是你,我会废除马略郡。将更易于使用。已尝试解决方案,但不幸的是问题仍然存在。我甚至在“内容”的末尾放了一些文字,但这些文字也没有显示出来。因此,我的猜测是。每个循环仍然有错误。我将在回调中执行console.log(data),在$。中执行console.log(cat)以查看返回的内容。
<script type="text/javascript">
$(function(){
$.getJSON('viewmjcatjson.ctp', function(data){
var content = '<div>';
$.each(data, function(index,cat){
content += '<h2><a href="#">' + cat.MajorCategories.category + '</a></h2> <div>';
content += cat.MajorCategories.description + '</div>';
});
$("#majorcat").append(content);
});
})
</script>
$.getJSON('../viewmjcatjson', function(data){