1

该文件由 ajax 请求调用。结果来到这里我想在调用函数中放入两个不同的地方。

<?php


//Some processing gives $text 
$s=nl2br($text);

        $data['x'] = $p;
        $data['y'] = $q;

//Start from here

    echo "<b>Positive count : $x with $p % </b>";  echo "</br>";
    echo "<b>Negative count  : $y with $q % </b>"; echo "</br>";
    echo "</br>";
    echo "Page content : ";
    echo "</br>";
    echo "</br>";
    echo $s;
//End. This content should be place in <div1>. Want to send this as a json string

//Start from here
    echo "First 5 post";
    $result = mysqli_query($con,"select post from facebook_posts where p_id >  (select MAX(p_id) - 5 from facebook_posts)");
    while ($row = $result->fetch_array(MYSQLI_ASSOC))
    {
      echo $row['post'];
      echo '<br/>';
    }
//End. This content should be placed in <div2> Want to send this as a json string

如果有单个变量,那么我们可以使用以下方法轻松完成:

$resultArray = array("resultOne" => $result1,"resultTwo" => $result2);
echo json_encode($resultArray);

在接收端:

document.getElementById("myFirstDiv").innerHTML=xmlhttp.responseText.resultOne;
document.getElementById("mySecondDiv").innerHTML=xmlhttp.responseText.resultTwo;

但是如何将上述复杂结果放入 json 变量中?

4

1 回答 1

1

您可以在 PHP 中使用输出缓冲:

ob_start();
// Generate content for div 1...
$div1 = ob_get_clean();

ob_start();
// Generate content for div 2...
$div2 = ob_get_clean();

$result = array("div1" => $div1, "div2" => $div2);
echo json_encode($result);
于 2013-10-26T18:17:49.813 回答