用json和ajax请求隐藏php echo输出

时间:2016-08-29 20:59:46

标签: php json ajax

我在页面加载时遇到运行php脚本的问题,然后输出显示在页面上,我实际上并不想显示。我试图隐藏回声。

 function mass() 
 {
     $.ajax({
         url: "page.php",
         cache: false,
         success: function(html){
             $("#container").html(html);
         }
     });
 }

但是,仍然无法正常工作。我有一个想法,“Ajax和JSON编码函数()”将帮助我解决“向同一页面发出ajax请求”的问题。但是,我真的不知道如何创建一个数组来编码负责结果的html和php变量。请帮助。

这是我的ajax函数来显示输出。

$query="SELECT * FROM `comments` ORDER BY id ASC";
$result = mysql_query($query);

if (isset($_REQUEST['AnswerId'])){
    $AnswerId = $_REQUEST['AnswerId'];
}
else {
    $AnswerId = 0;
}               

$i=0;
while ($mytablerow = mysql_fetch_row($result)) {
    $mytable[$i] = $mytablerow;
    $i++;
}

function tree($treeArray, $level, $pid = 0) {
    global $AnswerId;
    if (! $treeArray) {
        return;
    }   
    foreach($treeArray as $item) {
        if ($item[1] == $pid) {
        ?>
        <div class="Div" style="margin-left:<?php echo($level*60);?>px">    
        <div class="CotDiv">
        <div class="ser"><?php echo($item[2]) ; ?></div>
        <div class="Mse"><?php echo($item[3]) ; ?></div>
        <div class="ito"><?php echo($item[4]) ; ?></div>
        <?php               
        if ($level<=40) { 
            echo '<a href="" class="ReplyLink"  onclick="AnswerComment('.$item[0].');return false;">Reply</a>'; }
            echo '<a href="" class="DeleteLink" onclick="DeleteComment('.$item[0].');return false;">Delete</a>';
            ?> </div> <?php

            if ($AnswerId == $item[0]){?> 
                <div id="InnerDiv"><?php ShowForm($AnswerId);?</div><?php ?> </div><?php 
                echo ('<br/>');
                tree($treeArray, $level+1, $item[0]);
            }       
        }
    }
    tree($mytable, 0);
?>

这是我的php脚本,用于保存页面的输出

communicate()

1 个答案:

答案 0 :(得分:2)

@enance这不是完全相同的代码,但想法是一样的。这可能无法正确输出,因为我没有要测试的mysql输出的示例数组。

只需几个注释,尽量不要使用全局变量,只需将变量传递给函数即可。为了时间的缘故,我将html的输出保存在这个函数中,但理想情况下你想通过另一个函数输出html。

<?php
// example array
$mytable = [
 [1,0,3,4,5,6],
 [0,2,3,4,5,6]
];

$answer_id = 1;

function tree($answer_id, $items, $level, $pid = 0) {
  if (empty($array))
    return;

  foreach ($items as $item) {

    if ($item[1] == $pid) {
      echo sprintf('<div class="Div" style="margin-left:%spx">',$level * 60);
      echo '<div class="CotDiv">';
      echo sprintf('<div class="ser">%s</div>', $item[2]);
    } 

    if ($level <= 40) {
      echo sprintf('<a href="" class="ReplyLink" onclick="AnswerComment(%s);return false;">Reply</a>', $item[0]);
      echo sprintf('<a href="" class="DeleteLink" onclick="DeleteComment(%2);return false;">Delete</a>', $item[0]);
    }

    echo '</div>';

    if ($answer_id == $item[0]) {
      echo sprintf('<div id="InnerDiv">%s</div>', 'FORM OUTPUT HERE');
      tree($answer_id, $items, $level++, $item[0]);
    }

    echo '</div>';
  }

}

tree($answer_id, $mytable, 0);
exit;

我真的希望这有助于让你走上正确的轨道。