Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过迭代php返回的json对象(echo),将数据附加到网页_Php_Jquery_Json_Cakephp - Fatal编程技术网

通过迭代php返回的json对象(echo),将数据附加到网页

通过迭代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

我正在使用cakephp开发一个动态附加从服务器检索到的数据的网页。附加的数据可以在jquery手风琴(未显示)中打开

我尝试了一些在其他主题中看到的建议,但仍然没有在网页上显示任何内容

javascript是这样的:

<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){