Categories
";
if(mysqli_num_rows($run_query)>0){
while($row = mysqli_fetch_array($run_query)){
$cid = $row["cat_id"];
$cat_name = $row["cat_title"];
echo "
$cat_name
";
}
echo "";
}
}
?>
//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的格式给前端处理?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
寥寥几行代码就可以分离界面和逻辑,实现MVC:
php作这样处理,单独放到一个文件,js向这个文件请求就可以了
数据库里的查出来转成数组,json_encode下输出,js调用,取到数据,js遍历下数组(拼接html的ajax的done里),拼接下html,这样php和html就完全分开了
我觉得可以先确定前端页面想要展示哪些内容。假设这些内容有了啊,基于这些内容写好页面,剩下的就是这些内容对应的数据。
而php就像楼上所说的,提供一个api接口,比如返回json数据,里面的数据就可以通过ajax来向服务器请求。拿到数据后用js填充数据到页面里面去就好了。
我觉得你可能在想一个问题。就是输出列表问题对吧。这个可以简单做
ajax给前端后,前端拿到json对象,可以用前端模板引擎来做。推荐你用
juicer后端:
要想返回 json 格式: 你得把你想要返回的 html 弄到一个数组里面 ,例如:
$json = array(
'html' => $html
);
echo $json;
前端接受:
$.ajax(
success: function(json){
}
);