猿问

PHP如何和HTML代码分离?

<?php

include "db.php";

if(isset($_POST["category"])){


    $category_query = "SELECT * FROM categories";


    $run_query = mysqli_query($con,$category_query); 

    echo "

    <div class='nav nav-pills nav-stacked'>

    <li class='active'><a href='#'><h4>Categories</h4></a></li>

    ";

if(mysqli_num_rows($run_query)>0){

    

        while($row = mysqli_fetch_array($run_query)){

            $cid = $row["cat_id"];

            $cat_name = $row["cat_title"];

            echo "

<li><a href='#' class='category' cid='$cid'>$cat_name</a></li>

            ";

        }

        echo "</div>";

    }

}

?>

//JS

$(document).ready(function() {

    cat();

    function cat() {

        $.ajax({

                url: 'action.php',

                type: 'POST',

                data: {

                    category: 1

                }

            })

            .done(function(data) {

                //console.log(data);

                $("#get_category").html(data);


            });

    }

})

php是小白,有没有办法前后端分离,把echo的HTML代码返回json的格式给前端处理?

慕雪6442864
浏览 1377回答 1
1回答

四季花海

寥寥几行代码就可以分离界面和逻辑,实现MVC:/index.php (页面控制器)if(!defined('ROOT')) define('ROOT', __DIR__);require ROOT.'/include/common.php';echo render('index.php'); //输出HTMLecho json_encode(array('Server'=>'PHP')); //输出JSON/include/common.php (公共操作)if(!defined('ROOT')) exit();require ROOT.'/include/funclass.php';/include/funclass.php (函数和类)if(!defined('ROOT')) exit();function render($view) {&nbsp; &nbsp; ob_end_clean(); ob_start();&nbsp; &nbsp; require ROOT.'/view/'.$view;&nbsp; &nbsp; $html = ob_get_contents();&nbsp; &nbsp; ob_end_clean(); ob_start();&nbsp; &nbsp; return $html;}/view/index.php (视图)require __DIR__.'/header.php'; //if(!defined('ROOT')) exit();require __DIR__.'/footer.php'; //JS代码一般写在footer.php里</body>前面
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答